数据库 – Delphi ODBC连接对话框组件?
发布时间:2020-12-12 16:27:30 所属栏目:MsSql教程 来源:网络整理
导读:我正在考虑将ODBC数据库连接添加到应用程序. 用户将在运行时配置并选择其数据库odbc连接. 是否有任何组件可以提供所需的一系列对话框? 允许用户选择数据源类型,选择驱动程序,已浏览 定义ODBC连接等 干杯 山姆 解决方法 如果您使用的是ADO组件,可以试试这个.
|
我正在考虑将ODBC数据库连接添加到应用程序.
用户将在运行时配置并选择其数据库odbc连接. 是否有任何组件可以提供所需的一系列对话框? 允许用户选择数据源类型,选择驱动程序,已浏览 干杯 解决方法如果您使用的是ADO组件,可以试试这个.选项1 Uses
OleDB,ComObj,ActiveX;
function Edit_ADO_ODBC_ConnectionString(ParentHandle: THandle; InitialString: WideString;out NewString: string): Boolean;
var
DataInit : IDataInitialize;
DBPrompt : IDBPromptInitialize;
DataSource: IUnknown;
InitStr : PWideChar;
begin
Result := False;
DataInit := CreateComObject(CLSID_DataLinks) as IDataInitialize;
if InitialString <> '' then
DataInit.GetDataSource(nil,CLSCTX_INPROC_SERVER,PWideChar(InitialString),IUnknown,DataSource);
DBPrompt := CreateComObject(CLSID_DataLinks) as IDBPromptInitialize;
{
DBPROMPTOPTIONS_WIZARDSHEET = $1;
DBPROMPTOPTIONS_PROPERTYSHEET = $2;
DBPROMPTOPTIONS_BROWSEONLY = $8;
DBPROMPTOPTIONS_DISABLE_PROVIDER_SELECTION = $10;
}
if Succeeded(DBPrompt.PromptDataSource(nil,ParentHandle,DBPROMPTOPTIONS_PROPERTYSHEET,nil,DataSource)) then
begin
InitStr := nil;
DataInit.GetInitializationString(DataSource,True,InitStr);
NewString := InitStr;
Result := True;
end;
end;
Result:=Edit_ADO_ODBC_ConnectionString(0,OldConnectionString,NewString);
选项2 Uses ADODB; PromptDataSource(Self.Handle,InitialString); 选项3 Uses ADODB,AdoConEd; procedure TMainForm.Button2Click(Sender: TObject); Var ADOConnection1 : TADOConnection; begin ADOConnection1:=TADOConnection.Create(Self); EditConnectionString(ADOConnection1); end; 您必须选择“用于ODBC驱动程序的Microsoft OLE DB提供程序” 再见. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |








