电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

在DELPHI中编程生成ACCESS数据库文件并创建指向此连接

  • 资源ID:457153303       资源大小:37.50KB        全文页数:8页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

在DELPHI中编程生成ACCESS数据库文件并创建指向此连接

在DELPHI中编程生成ACCESS数据库文件并创建指向此连接的ODBC数据源       要实现创建ACCESS数据库文件,我们要用到Windows系统中用来完成ODBC 管理功能的DLL(odbccp32.dll)。   废话少说,让我们用个例子来演示吧!(一)在DELPHI中新建一个工程,并在窗体上添加两个按钮。然后保存(二)从系统中搜索odbccp32.dll和odbcint.dll,一般在C:WINDOWSsystem32中,并将这两个文件拷贝到在上一步我们创建的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, strDriver1, strAttr1 );       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, strDriver1, strAttr1 );         if not fResult then ShowMessage( '创建MDB文件失败' );       end;       FindClose( srInfo );    end;    FreeLibrary( hLib );  end else ShowMessage( '无法加载ODBCCP32.DLL' );end;(六)用来动态创建ODBC的DSN数据源代码procedure TForm1.Button2Click(Sender: TObject);var  registerTemp : TRegistry;  bData : array 0.0 of byte;begin  registerTemp := TRegistry.Create;  with registerTemp do  begin    RootKey:=HKEY_LOCAL_MACHINE;    /找到SoftwareODBCODBC.INIODBC Data Sources    if OpenKey('SoftwareODBCODBC.INIODBC Data Sources',True) then    begin /注册DSN名称      WriteString( 'MyAccess', 'Microsoft Access Driver (*.mdb)' );    end else begin     showmessage('添加ODBC数据源失败');     exit;    end;    CloseKey;   /找到或创建SoftwareODBCODBC.INIMyAccess,写入DSN配置信息    if OpenKey('SoftwareODBCODBC.INIMyAccess',True) then    begin      WriteString( 'DBQ', ExtractFilePath(ParamStr(0)+'Test.MDB' );/数据库目录,连接您的数据库      WriteString( 'Description','我的新数据源' );/数据源描述      WriteString( 'Driver', 'C:WINDOWSsystem32odbcjt32.dll' );/驱动程序DLL文件      WriteInteger( 'DriverId', 25 );      /驱动程序标识      WriteString( 'FIL', 'Ms Access;' );      /Filter依据      WriteInteger( 'SafeTransaction', 0 );      /支持的事务操作数目      WriteString( 'admin', '' );/用户名称      bData0 := 0;      WriteBinaryData( 'Exclusive', bData, 1 );      /非独占方式      WriteBinaryData( 'ReadOnly', bData, 1 );      /非只读方式    end else begin      showmessage('添加ODBC数据源失败');      exit;    end;    CloseKey;      /找到或创建SoftwareODBCODBC.INIMyAccessEnginesJet     /写入DSN数据库引擎配置信息     if OpenKey('SoftwareODBCODBC.INIMyAccessEnginesJet',True) then     begin       WriteString( 'ImplicitCommitSync', 'Yes' );       WriteInteger( 'MaxBufferSize', 512 );/缓冲区大小       WriteInteger( 'PageTimeout', 10 );/页超时        WriteInteger( 'Threads', 3 );/支持的线程数目       WriteString( 'UserCommitSync', 'Yes' );     end else/创建键值失败     begin        showmessage('增加ODBC数据源失败');        exit;     end;     CloseKey;     showmessage('增加新ODBC数据源成功');     Free;  end;end;(七)F9运行程序,首先点击BUTTON1,然后你可以在程序的同级目录下找打新建立的MDB文件,Test.MDB。然后打开控制面板->管理->ODBC数据源,你会发现在系统DSN这一页面中多了一个TestDSN项,打开后可以看到它指向程序创建的Test.mdb。然后点击BUTTON2,待弹出增加新ODBC数据源成功'的对话框后,再次转到ODBC数据源查看,你会发现在系统DSN中又多了一个Myaccess项,它也指向由程序创建的Test.mdb。如果有兴趣,你还可以注意一下注册表的变化,那样,你会对程序中的代码有更直观的认识。(八)以上程序在WinXp,DELPHI7下测试通过。

注意事项

本文(在DELPHI中编程生成ACCESS数据库文件并创建指向此连接)为本站会员(新**)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.