Форма SqlConnectionStringBuilder в .net C # - PullRequest
0 голосов
/ 10 апреля 2009

Мне интересно, как я могу добавить форму DATA LINK в мое приложение WIN. Вы знаете те формы, где пользователи могут выбирать на SQL-сервере, с которым они собираются соединиться и какой тип безопасности они собираются использовать и в базе данных.

как-то так на этой картинке альтернативный текст http://img186.imageshack.us/img186/7259/datalink.png

Ответы [ 3 ]

2 голосов
/ 10 апреля 2009

Вы можете сделать это с помощью некоторого COM Introp ... но тогда вам нужно вставить в свой проект кучу сборок Interop, что может быть перетаскиванием. Этот код покажет диалог с использованием отражения.

public static string ShowDialog( IWin32Window owner, 
                                 string connectionString )
{
    Type dlType = Type.GetTypeFromProgID( "DataLinks", true );
    Type acType = Type.GetTypeFromProgID( "ADODB.Connection", true );

    object form = Activator.CreateInstance( dlType );
    object connection = Activator.CreateInstance( acType ); 

    acType.InvokeMember( 
        "ConnectionString", 
        BindingFlags.Public | BindingFlags.SetProperty, 
        null, 
        connection, 
        new object[]{ connectionString } 
        );  
    object result = 
    dlType.InvokeMember( 
        "PromptEdit", 
        BindingFlags.Public | BindingFlags.InvokeMethod, 
        null, 
        form, 
        new object[]{ connection } 
        );          
    if( result != null && (bool)result )
        return acType.InvokeMember( 
                    "ConnectionString", 
                    BindingFlags.Public | BindingFlags.GetProperty, 
                    null, 
                    connection, 
                    new object[]{} ) as string;

    return null;
}

Это в основном переводит в следующий скрипт VB

form = GetObject( "DataLinks" )
connection = GetOBject( "ADODB.Connection" )
connection.ConnectionString = "existing connection"
form.PromptEdit( connection )
Return connection.ConnectionString
1 голос
/ 02 июня 2010

Я думаю, что лучший выбор - использовать код, предоставленный Microsoft здесь: http://code.msdn.microsoft.com/Connection.

Это диалог подключения, используемый внутри Visual Studio.

Однако он работает только с зарегистрированными поставщиками ADO.NET.

1 голос
/ 10 апреля 2009

Подробнее об этом здесь .

...