Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диалог подключения к БД 
:(
    Опции темы
DenwerD
Дата 20.1.2009, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Доброго времени суток.

Кто нибудь знает как можно програмно вызвать диалог для установления соединения с СУБД, как в VS 2005 Tool->Connect to Database
PM MAIL   Вверх
PaZ1T1V
Дата 20.1.2009, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 26.2.2008
Где: Багдад )

Репутация: нет
Всего: нет



если я правильно понял, то: 

используй свойства Connection какого либо класса для работы с бд, если для примера, то программное подключение к Access Db выглядит так

Код

 OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;" + @"data source=(имя БД без скобок естесственно)");
 

и не забываем подключить класс

Код

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;//работа с Access Db
using System.Windows.Forms;



--------------------
[size=8]Atention please!!![/size]
[size=6]Кривые руки[/size]
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
DenwerD
Дата 20.1.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Со свойством ConnectionString все понятно: как его делать и для чего оно нужно. Мне интересно есть ли класс для вызова формы (диалога) (например как то так DdConnectionDialog) который выглядит как в VS 2005  пункт меню Tool->Connect to Database . Ну например есть же классы диалогов: OpenFileDialog и т.д. 

Копание MSDN не помогло. Может конечно "Лопата" хреновая, но все же.

А то не хочется написать нечто подобное а потом узнать что есть стандартные средств.

Это сообщение отредактировал(а) DenwerD - 20.1.2009, 21:46
PM MAIL   Вверх
Drabuna
Дата 20.1.2009, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дивелоперчег
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 27.3.2008
Где: Киев

Репутация: нет
Всего: 3



Мммм может как кем то написанный контрол он и есть. Стандартного насколько я знаю, нету.
Да и самому написать нечто подобное не так и сложно)

Это сообщение отредактировал(а) Drabuna - 20.1.2009, 23:37
PM MAIL   Вверх
DenwerD
Дата 21.1.2009, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Цитата(Drabuna @ 20.1.2009,  22:49)
Мммм может как кем то написанный контрол он и есть. Стандартного насколько я знаю, нету.
Да и самому написать нечто подобное не так и сложно)

Согласен, что несложно. Чем и займусь.
PM MAIL   Вверх
Veitmen
Дата 21.1.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 10.11.2006
Где: СПБ

Репутация: нет
Всего: 4



Код

static class ConnectionStringBuilder
    {
        public static string BuildConnectionStringDlg(Form parent)
        {
            MSDASC.DataLinksClass dlc =
                new MSDASC.DataLinksClass();
            if(parent!=null)
                dlc.hWnd = parent.Handle.ToInt32();
            ADODB._Connection result =
                (ADODB._Connection)dlc.PromptNew();
            if (result != null)
            {
                return result.ConnectionString.ToString();
            }
            return "";
        }
    }


нужны референсы на СОМ: "Microsoft ActiveX Data Objects 2.8 Library" и "Microsoft OLE DB Service Component 1.0 Type Library"

Добавлено через 43 секунды
Это где то было на форуме...
PM MAIL ICQ   Вверх
Drabuna
Дата 21.1.2009, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дивелоперчег
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 27.3.2008
Где: Киев

Репутация: нет
Всего: 3



Хм... спасибо, не знал)
PM MAIL   Вверх
DenwerD
Дата 21.1.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Спасибо, попробуем заюзать.  

Стесняюсь спросить: Microsoft ActiveX Data Objects 2.8 Library" и Microsoft OLE DB Service Component 1.0 Type Library" - это Net библиотеки ( входят в состав Framework -а ) ?

Если нет, то как думаете, каая вероятность их отсутствия на клиентской машине? Мне кажется что она стремится к нулю, но все же хотелось услышать Ваше мнения
PM MAIL   Вверх
Drabuna
Дата 21.1.2009, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дивелоперчег
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 27.3.2008
Где: Киев

Репутация: нет
Всего: 3



Когда вы скомпилируете свою программу, эти библиотеки будут находится в папке debug или release, вместе с еxe файлом.
PM MAIL   Вверх
DenwerD
Дата 21.1.2009, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Цитата(Drabuna @  21.1.2009,  17:23 Найти цитируемый пост)
Спасибо большое. 


PM MAIL   Вверх
Любитель
Дата 25.1.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Предложенным образом мы получим коннекшен стринг для классического ADO (в .Net есть, конечно врапперы для классического ADO - в Syste,.Data.OleDb). "Студийный" диалог коннекта к базе используетс студийные чистодотнетовские (некомовские) сборки (как минимум Microsoft.Data.Connection.UI.dll, Microsoft.Data.Connection.UI.Dialog.dll). По идее сборки эти можно юзать свободно - так как они, если я не ошибаюсь, входят в VS SDK. Документацию по ним можно найти в том же SDK (ну или онлайн МСДН, само собой).

ЗЫ Насчёт лицензии точно не уверен - это, конечно, надо читать.


--------------------
PM MAIL ICQ Skype   Вверх
emmanuil
Дата 1.2.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: 1
Всего: 3



Я делал свой диалог, свой всегда лучше, о нем все знаешь. smile
Использовал System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources() - возвращает сервера. А для получения баз данных использовал System.Data.SqlClient.SqlConnection.GetSchema() с параметрами. См. в msdn.

Это сообщение отредактировал(а) emmanuil - 1.2.2009, 16:39
PM MAIL   Вверх
DesantRu
Дата 1.2.2009, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;" + @"data source=(имя БД без скобок естесственно)");

 
Извините за вопрос - а что означает знак @ в этом выражении?
Часто встречаю этот знак и не могу понять что он означает...
PM MAIL   Вверх
Ronin08
Дата 2.2.2009, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Цитата

Извините за вопрос - а что означает знак @ в этом выражении?

@"c:\Docs\Source\a.txt"  тоже самое что "c:\\Docs\\Source\\a.txt", т.е. удваивает символ "\"

--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
DesantRu
Дата 2.2.2009, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



Спасибо большое! Все понятно.
PM MAIL   Вверх
emmanuil
Дата 3.2.2009, 06:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: 1
Всего: 3



Цитата(Ronin08 @  2.2.2009,  08:01 Найти цитируемый пост)
@"c:\Docs\Source\a.txt"  тоже самое что "c:\\Docs\\Source\\a.txt", т.е. удваивает символ "\"

Немного поправлю. @ не просто удваивает \, а указывает на то, что строку нужно воспринимать в ее естественном виде, т.е. только символы. Без этого символа в строке можно задавать команды, например \n - новая строка. Вот два варианта:
Код

string s = @"dadasdasds\nadadasd";
Console.WriteLine(s);
s = "dadasdasds\nadadasd";
Console.WriteLine(s);
в первом будет простая строка, а во втором, символы после \n перенесутся на новую строку.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.