求助ODBC Microsoft Access Driver 参数不足,期待是3 这个问题如何解决 如题,望各位大侠指点迷津. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 library MyData;uses SysUtils, Classes, Windows, FORMS, Registry;{$R *.res}function createmdbodbc(name,dir:string;username:string='';pwd:string=''):boolean;stdcall;var registerTemp : TRegistry; bData : array[ 0..0 ] of byte;begin registerTemp := TRegistry.Create; //建立一个Registry实例 with registerTemp do begin RootKey:=HKEY_LOCAL_MACHINE;//设置根键值为HKEY_LOCAL_MACHINE //找到Software\ODBC\ODBC.INI\ODBC Data Sources if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then begin //注册一个DSN名称 WriteString( name, 'Microsoft Access Driver (*.mdb)' ); end else begin//创建键值失败 result:=false; exit; end; CloseKey; //找到或创建Software\ODBC\ODBC.INI\MyAccess,写入DSN配置信息 if OpenKey('Software\ODBC\ODBC.INI\'+name,True) then begin WriteString( 'DBQ', dir );//数据库目录 WriteString( 'Description', '我的新数据源' );//数据源描述 WriteString( 'Driver', 'C:\PWIN98\SYSTEM\odbcjt32.dll' );//驱动程序DLL文件 WriteInteger( 'DriverId', 25 );//驱动程序标识 WriteString( 'FIL', 'Ms Access;' );//Filter依据 WriteInteger( 'SafeTransaction', 0 );//支持的事务操作数目 WriteString( 'UID', username );//用户名称 writeString('Password',pwd); bData[0] := 0; WriteBinaryData( 'Exclusive', bData, 1 );//非独占方式 WriteBinaryData( 'ReadOnly', bData, 1 );//非只读方式 end else//创建键值失败 begin result:=false; exit; end; CloseKey; //找到或创建Software\ODBC\ODBC.INI\MyAccess\Engines\Jet //写入DSN数据库引擎配置信息 if OpenKey('Software\ODBC\ODBC.INI\'+name+'\Engines\Jet',True) then begin WriteString( 'ImplicitCommitSync', 'Yes' ); WriteInteger( 'MaxBufferSize', 512 );//缓冲区大小 WriteInteger( 'PageTimeout', 10 );//页超时 WriteInteger( 'Threads', 3 );//支持的线程数目 WriteString( 'UserCommitSync', 'Yes' ); end else//创建键值失败 begin result:=false; exit; end; CloseKey; result:=true; Free; end;end;exports createmdbodbc;beginend.应如何修改. 如何用DBGrid来实现将列中相同值的行进行合并? shelllistview N个问题!~~~~~ rave 問題至少100分,分不鉤可以再加 要换手机号了,有哪些网站有手机支付呀,我想把卡里的钱用光 照着李维的书写的程序为什么出错了? 急急急!!!无标题窗体移动问题!!! copy(),delete() pos()这三个函数 急,,在线等待,,,小问题,,Socket.SendBuf/Socket.ReceiveBuf一次最大能发送/接收多少字 控件名能否拆开? Delphi 6 的 BUG? 字符截取??? Delphi 的StringGrid 如果在添加数据时增加行。
SysUtils,
Classes,
Windows,
FORMS,
Registry;{$R *.res}function createmdbodbc(name,dir:string;username:string='';pwd:string=''):boolean;stdcall;
var
registerTemp : TRegistry;
bData : array[ 0..0 ] of byte;
begin
registerTemp := TRegistry.Create; //建立一个Registry实例
with registerTemp do
begin
RootKey:=HKEY_LOCAL_MACHINE;//设置根键值为HKEY_LOCAL_MACHINE //找到Software\ODBC\ODBC.INI\ODBC Data Sources
if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then
begin //注册一个DSN名称
WriteString( name, 'Microsoft Access Driver (*.mdb)' );
end
else
begin//创建键值失败
result:=false;
exit;
end;
CloseKey; //找到或创建Software\ODBC\ODBC.INI\MyAccess,写入DSN配置信息
if OpenKey('Software\ODBC\ODBC.INI\'+name,True) then
begin
WriteString( 'DBQ', dir );//数据库目录
WriteString( 'Description', '我的新数据源' );//数据源描述
WriteString( 'Driver', 'C:\PWIN98\SYSTEM\odbcjt32.dll' );//驱动程序DLL文件
WriteInteger( 'DriverId', 25 );//驱动程序标识
WriteString( 'FIL', 'Ms Access;' );//Filter依据
WriteInteger( 'SafeTransaction', 0 );//支持的事务操作数目
WriteString( 'UID', username );//用户名称
writeString('Password',pwd);
bData[0] := 0;
WriteBinaryData( 'Exclusive', bData, 1 );//非独占方式
WriteBinaryData( 'ReadOnly', bData, 1 );//非只读方式
end
else//创建键值失败
begin
result:=false;
exit;
end;
CloseKey; //找到或创建Software\ODBC\ODBC.INI\MyAccess\Engines\Jet
//写入DSN数据库引擎配置信息
if OpenKey('Software\ODBC\ODBC.INI\'+name+'\Engines\Jet',True) then
begin
WriteString( 'ImplicitCommitSync', 'Yes' );
WriteInteger( 'MaxBufferSize', 512 );//缓冲区大小
WriteInteger( 'PageTimeout', 10 );//页超时
WriteInteger( 'Threads', 3 );//支持的线程数目
WriteString( 'UserCommitSync', 'Yes' );
end
else//创建键值失败
begin
result:=false;
exit;
end;
CloseKey;
result:=true;
Free;
end;
end;exports
createmdbodbc;begin
end.
应如何修改.