const
ODBC_ADD_DSN = 1;
ODBC_CONFIG_DSN = 2;
ODBC_REMOVE_DSN = 3;
ODBC_ADD_SYS_DSN = 4;
ODBC_CONFIG_SYS_DSN = 5;
ODBC_REMOVE_SYS_DSN = 6;function SQLConfigDataSource(hwndParent: Integer;
fRequest: LongInt; lpszDriverString: string;
lpszAttributes: string): LongBool; stdcall; external 'ODBCCP32.DLL';procedure TForm1.Button1Click(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
BoolStr: array[Boolean] of string = ('f', 't');
begin
Caption := BoolStr[
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,
// ~换成Handle就是手工配置
'SQL Server', //数据库类型
'DSN=MyDatabase'#0 + //数据源名称
'Server=(local)'#0 + //SQL Server服务器名
'Database=DatabaseName'#0 + //数据库名称
'Description=动态配置ODBC'#0 //描述
)];
end;
ODBC_ADD_DSN = 1;
ODBC_CONFIG_DSN = 2;
ODBC_REMOVE_DSN = 3;
ODBC_ADD_SYS_DSN = 4;
ODBC_CONFIG_SYS_DSN = 5;
ODBC_REMOVE_SYS_DSN = 6;function SQLConfigDataSource(hwndParent: Integer;
fRequest: LongInt; lpszDriverString: string;
lpszAttributes: string): LongBool; stdcall; external 'ODBCCP32.DLL';procedure TForm1.Button1Click(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
BoolStr: array[Boolean] of string = ('f', 't');
begin
Caption := BoolStr[
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,
// ~换成Handle就是手工配置
'SQL Server', //数据库类型
'DSN=MyDatabase'#0 + //数据源名称
'Server=(local)'#0 + //SQL Server服务器名
'Database=DatabaseName'#0 + //数据库名称
'Description=动态配置ODBC'#0 //描述
)];
end;
if lreg.OpenKey('\SOFTWARE\ODBC\ODBC.INI\'+fodbcname.text,false) then
begin
with lreg do
begin
writestring('Database',数据库名字);
writestring('Driver','sqlsrv32.dll');
writestring('Server',SQLSERVER服务器名字);
writestring('Description',' ');
if lreg.OpenKey('\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources\',false) then
writestring(fodbcname.Text,'SQL Server');
MessageBox(0,'ODBC创建并保存成功!','提示',MB_OK or MB_ICONwarning)
end;
end;
except
end;
lreg.CloseKey;
lreg.Free;