- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在DELPHI中编程生成ACCESS数据库文件并创建指向此连接的ODBC数据源
在DELPHI中编程生成ACCESS数据库文件并创建指向此连接的ODBC数据源??
??? 要实现创建ACCESS数据库文件,我们要用到Windows系统中用来完成ODBC 管理功能的DLL(odbccp32.dll)。
?? 废话少说,让我们用个例子来演示吧!
(一)在DELPHI中新建一个工程,并在窗体上添加两个按钮。然后保存
(二)从系统中有哪些信誉好的足球投注网站odbccp32.dll和odbcint.dll,一般在C:\WINDOWS\system32中,并将这两个文件拷贝到在上一步我们创建的DELPHI工程的同级目录下
(三)在程序的中添加关于常量的定义???????
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: WORD;??? lpszDriver: LPCSTR;??? lpszAttributes: LPCSTR ) : BOOL; stdcall;
(五)用来完成建立DSN并生成数据库文件的代码如下:
procedure TForm1.Button1Click(Sender: TObject);var? pFn: TSQLConfigDataSource;? hLib: LongWord;? strDriver: string;? strAttr: string;? strFile: string;? fResult: BOOL;? srInfo : TSearchRec;begin? //获得程序所在路径? 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 := Microsoft Access Driver (*.mdb);????? strAttr := Format( DSN=TestDSN+#0+??????????????? DBQ=%s+#0+??????????????? Exclusive=1+#0+??????????????? Description=Test Data+#0+#0,??????????????? [strFile] );????? fResult := pFn( 0, ODBC_ADD_SYS_DSN, @strDriver[1], @strAttr[1] );?????? if not fResult then ShowMessage( 创建DSN失败! );
?????? // 检测/创建同DSN关联的 MDB 文件?????? if( FindFirst( strFile, 0, srInfo ) 0 ) then?????? begin???????? strDriver := Microsoft Access Driver (*.mdb);???????? //,CREATE_DB的调用是Access(MS Jet引擎)的专有调用,类似的还有COMPACT_DB和REPAIR_DB等???????? strAttr := Format( DSN=TestDSN+#0+???????????????? DBQ=%s+#0+???????????????? Exclusive=1+#0+???????????????? Description=Test Data+#0+???????????????? CREATE_DB=%s#0+#0,???????????????? [strFile,strFile] );???????? fResult := pFn( 0, ODBC_ADD_SYS_DSN, @strDriver[1],
文档评论(0)