CATIA CAA二次开发连接数据库_第1页
CATIA CAA二次开发连接数据库_第2页
CATIA CAA二次开发连接数据库_第3页
CATIA CAA二次开发连接数据库_第4页
CATIA CAA二次开发连接数据库_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CAA连接数据库的问题解决由于本人要将大量的数据从文本文件中读入到程序中,进行检索,查询,显示等操作。为了避免每一次运行程序的时候读入数据,就采用了将数据存在数据库中,运行程序的时候直接从数据库中存取,这样的话就会提高效率,不需要每一次编译的时候都读入几百兆数据,耗你个个把小时。郑重声明:本文的内容不是我发现的,是几位好友帮助下解决了我的问题,我想着或许其他人也会遇到连接数据库的问题,所以我就记下来了。感谢开发群里的@行者无疆

@ession

@老刀

等人。多谢一直以来的支持!一、搭建平台我用的版本是R19和Vs2005,因为Vs2005安装的时候就默认安装了SQLserverExpress版本。多以如果你的数据量不是太大的话,就不需要自己再去安装数据库了。你所需要做的就是安装一个数据库管理工具:SQLServermanagementstudio。就是下图这个:(软件没有的话可以问我要)当然你安装了数据库管理工具之后,至于如何使用这个软件,可以参考网上的教程神马的。还有就是如何开启Windows身份验证和SQLserver验证模式,密码用户名设置神马的,自己去查了。记得重启机子哦!以上工作完成之后,你的平台就搭建好了,这时候就是如何在编译环境IDE中连接数据库了。。添加数据连接。Servername服务器名字就是你的电脑名,比如我这个就是Hudengjun-PC可以点击测试连接testconnection按钮。看是否连接上了测试成功!二、通过编译器连接数据库至于下面的编程会出现的CreateProcess(“”reglib””)和重复包含Windows.h的错误。实在是太讨厌了。坑了我几天,下面是一位同道的解决方案,匪夷所思:首先建立一个数据库连接,这程序也是从别人VS2003哪里拷过来的,至于如何使用C++和windowapi连接数据库,这个我就不说了,直接看程序!这段程序可以在网上找到,如果你找不到类似的话,可以直接问我要,记得邮箱hudengjun@哦。::::CoInitialize(NULL);//获取用户名和密码CATUnicodeStringjsj=_Editorjsj->GetText(); if(jsj=="") { AfxMessageBox(_T("请输入计算机名")); return; }CSjsj=jsj.ConvertToChar();CATUnicodeStringTheInputUserName=_EditorYonghu->GetText();CATUnicodeStringTheInputUserMima=_EditorMima->GetText();AfxOleInit();_ConnectionPtrm_pConnetion; //连接数据库m_pConnetion.CreateInstance(__uuidof(Connection)); try { CStringconnectionstring;connectionstring.Format(_T("Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;Password=851115;InitialCatalog=ZiDongZuanMao;DataSource='%s';"),CSjsj);m_pConnetion->Open(_bstr_t(connectionstring),"","",adConnectUnspecified); //Sleep(500);//延时 } catch(_com_errore) { AfxMessageBox(_T("打开数据库失败,请检查数据库配置")); return; }catch(...) { AfxMessageBox(_T("非com原因打开数据库失败,请检查代码")); return; } //打开结果集 CStringsSql;sSql="SELECT*FROMYongHu";_RecordsetPtrm_pRecordset; m_pRecordset.CreateInstance(__uuidof(Recordset));try {m_pRecordset->Open((variant_t)sSql, m_pConnetion.GetInterfacePtr(), adOpenDynamic,adLockOptimistic, adCmdText); } catch(_com_errore) { AfxMessageBox(_T("打开YongHu表失败")); return; } //遍历记录集查找用户名和密码CATUnicodeStringstrTemp; _variant_tvar;if(!m_pRecordset->BOF)m_pRecordset->MoveFirst();在测试期间,我专门做了个小demo:。通过编译,出现了CreateProcess和重复包含windows.h的错误。这时候不要急,双击那个重复包含windows.h的错误,编译器会打开一个afxv_w32.h的文件。同时还会定位到这个地方,你把那个错误的哪行注释了就完了:注释这个弹出错误,就那个error.然后继续mkmk。Createprocess错误还存在,但是重复包含windows.h的错误不见了,相信你这时候会哭吧,这不CreateProcess(“”reglib“”)。还没解决吗?不要紧,看下一步!继续mkmk。这时候你会发现。输出窗口很整齐,nowarningnoerror!以上都是浮云,等你编译成功之后,你把那个afxv_w32.h打开,将刚才那句注释撤销,双斜杠去

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论