我想知道如何將DATA LINK表單添加到我的WIN應用程序中。 你知道這些表單,用戶可以選擇女巫SQL服務器,他們將連接 ,他們將使用什麼類型的安全和數據庫。.NET中的SqlConnectionStringBuilder格式C#
東西像這張圖片上 alt text http://img186.imageshack.us/img186/7259/datalink.png
我想知道如何將DATA LINK表單添加到我的WIN應用程序中。 你知道這些表單,用戶可以選擇女巫SQL服務器,他們將連接 ,他們將使用什麼類型的安全和數據庫。.NET中的SqlConnectionStringBuilder格式C#
東西像這張圖片上 alt text http://img186.imageshack.us/img186/7259/datalink.png
你可以做到這一點通過一些COM Introp ......但你必須在一堆互操作程序集到您的項目可以是一拖拉。此代碼將使用反射顯示對話框。
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
更多的是here。
我認爲最好的選擇是使用微軟提供的代碼:http://code.msdn.microsoft.com/Connection。
它是Visual Studio中使用的連接對話框。
但是,它只適用於已註冊的ADO.NET提供程序。
我再次堆積在這個問題上, 現在我嘗試從app.config文件發送連接sting來填充初始參數,但我總是得到對 對象result = dlType.InvokeMember的exeption。 任何建議 建議Thanx – adopilot 2009-05-13 11:39:05