0

WIN アプリケーションに DATA LINK フォームを追加する方法を知りたいです。ユーザーが接続する SQL サーバーと、使用するセキュリティの種類、およびデータベースを選択できるフォームを知っています。

この画像の 代替テキストのようなもの http://img186.imageshack.us/img186/7259/datalink.png

4

3 に答える 3

2

いくつかの 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
于 2009-04-10T06:24:28.163 に答える
1

詳細はこちら

于 2009-04-10T06:29:08.557 に答える
1

Microsoft から提供されているコード ( http://code.msdn.microsoft.com/Connection ) を使用するのが最善の選択だと思います。

Visual Studio内で使用する接続ダイアログです。

ただし、登録済みの ADO.NET プロバイダーでのみ機能します。

于 2010-06-01T22:31:11.983 に答える