我想知道如何将DATA LINK表单添加到我的WIN应用程序中。 您知道那些用户可以选择要连接的SQL服务器的表单 他们将使用什么类型的安全性和wht数据库。
就像这张照片上的东西 alt text http://img186.imageshack.us/img186/7259/datalink.png
答案 0 :(得分: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
答案 1 :(得分:1)
有关here的更多信息。
答案 2 :(得分:1)
我认为最好的选择是使用Microsoft提供的代码:http://code.msdn.microsoft.com/Connection。
这是Visual Studio中使用的连接对话框。
但是,它仅适用于已注册的ADO.NET提供程序。