欢迎来到天天文库
浏览记录
ID:51437471
大小:37.50 KB
页数:8页
时间:2020-03-24
《在DELPHI中编程生成ACCESS数据库文件并创建指向此连接.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在DELPHI中编程生成ACCESS数据库文件并创建指向此连接的ODBC数据源 要实现创建ACCESS数据库文件,我们要用到Windows系统中用来完成ODBC管理功能的DLL(odbccp32.dll)。 废话少说,让我们用个例子来演示吧!(一)在DELPHI中新建一个工程,并在窗体上添加两个按钮。然后保存(二)从系统中搜索odbccp32.dll和odbcint.dll,一般在C:WINDOWSsystem32中,并将这两个文件拷贝到在上一步我们创建的DELPHI工程的同级目录下(三)在程序的中添加关于常量
2、的定义 const ODBC_ADD_DSN=1;//添加数据源 ODBC_CONFIG_DSN=2;//配置数据源 ODBC_REMOVE_DSN=3;//删除数据源 ODBC_ADD_SYS_DSN=4;//添加系统DSN ODBC_CONFIG_SYS_DSN=5;//配置系统DSN ODBC_REMOVE_SYS_DSN=6;//删除系统DSN(四)在程序的type处添加声明type TSQLConfigDataSource=function(hwndParent:HWND; fRequest:WOR
3、D; lpszDriver:LPCSTR; lpszAttributes:LPCSTR):BOOL;stdcall;(五)用来完成建立DSN并生成数据库文件的代码如下:procedureTForm1.Button1Click(Sender:TObject);var pFn:TSQLConfigDataSource; hLib:LongWord; strDriver:string; strAttr:string; strFile:string; fResult:BOOL; srInfo:TSearchRec;begin
4、 //获得程序所在路径 strFile:=ExtractFilePath(ParamStr(0))+'Test.MDB'; //加载动态库 hLib:=LoadLibrary('ODBCCP32'); if(hLib<>NULL)then begin @pFn:=GetProcAddress(hLib,'SQLConfigDataSource'); if(@pFn<>nil)then begin //重新建立DSN strDriver:='MicrosoftAccessDriver(*.mdb)'
5、; strAttr:=Format('DSN=TestDSN'+#0+ 'DBQ=%s'+#0+ 'Exclusive=1'+#0+ 'Description=TestData'+#0+#0, [strFile]); fResult:=pFn(0,ODBC_ADD_SYS_DSN,@strDriver[1],@strAttr[1]); ifnotfResultthenShowMessage
6、('创建DSN失败!'); //检测/创建同DSN关联的MDB文件 if(FindFirst(strFile,0,srInfo)<>0)then begin strDriver:='MicrosoftAccessDriver(*.mdb)'; //,"CREATE_DB"的调用是Access(MSJet引擎)的专有调用,类似的还有COMPACT_DB和REPAIR_DB等 strAttr:=Format('DSN=TestDSN'+#0+
7、 'DBQ=%s'+#0+ 'Exclusive=1'+#0+ 'Description=TestData'+#0+ 'CREATE_DB="%s"'#0+#0, [strFile,strFile]); fResult:=pFn(0,ODBC_ADD_SYS_DSN,@strDriver[1],@strAttr[1]); ifnotfResultthenShowMe
8、ssage('创建MDB文件失败'); end; FindClose(srInfo); end; FreeLibrary(hLib); endelseShowMessage('无法加载ODBCCP32.DLL');end;(六)用来动态创建ODBC的DSN数据源
此文档下载收益归作者所有