engine2003 发表于 2005-12-24 19:27:11

[求助]SQL在cvi中的应用链接错误

问个问题:
在参考了张毅刚的 虚拟仪器软件开发环境 labwindows/cvi 6.0数据库应用程序开发部分后,调试程序出现 Project link error:
Undefined symbo '_DBActivateSQL@8' referenced in "database.c",等等好多类似的链接错误。
在工程文件中的cvi_db.fp的文件状态里,I部分出现U,查资料知道,当出现标志U时表示仪器驱动器未加载到“Instrument”菜单中,而我的已经加入到里面了,不知该怎样解决?

iceaddice 发表于 2005-12-26 03:54:46

回复:(engine2003)[求助]SQL在cvi中的应用链接错误...

碰到过类似情况
把工程里的.fp删了重新添加一遍试试

engine2003 发表于 2005-12-26 04:46:37

谢谢各位了,我已经调试成功了一半,原因是没有将“cvi_db.lib”这个文件放工程文件目录中,呵呵,搞了这么多天,但是几个调用数据库的控件还有些问题,我再试试,若是能够调通,就在这里和大家分享了。

engine2003 发表于 2005-12-26 05:29:08

现在的问题是对调用数据库的联接还是有问题,按照ODBC管理器添加数据库文件,并将这个文件(access)文件放入到工程文件目录下后,运行程序没有反应,即在程序面板上有个联接数据库的指示灯(在联接后处于打开状态,断开联接处于关闭状态)请各位再看看。

linux_li 发表于 2005-12-25 01:50:56

程序发过来 ,帮你看看linuxlister@gmail.com

engine2003 发表于 2006-2-19 03:36:15

程序差不多已经调通了,呵呵,对我这种菜鸟来说真是不容易啊

engine2003 发表于 2006-2-19 03:37:34

就是UPDATE控件不能实现,与数据库的连接与读写已经实现了

syxah 发表于 2006-1-17 03:53:18

能不能把程序发给大家参考一下,我也是试不成功的,谢谢

huhuyo 发表于 2006-1-25 05:35:35

<P>我成功实现过.现在我们生产线就是用的CVI写的程序,与另外一个程序进行接口,调用它的存储过程.</P><P>可以将源码贴出来.我帮你看一看.</P>
[此贴子已经被作者于2006-1-24 21:36:10编辑过]

engine2003 发表于 2006-1-14 17:42:59

还是有问题哦,不好搞哦

engine2003 发表于 2006-1-15 19:36:31

<P>现在在往数据库中写入记录时出现:</P>
<P>NON-FATAL RUN-TIME ERROR</P>
<P>Function DBPutRecord:(return value==-10).</P>
<P>Native error code -2147217873 0x80040e2f  </P>
<P>Microsoft OLE DB Provider for ODBC Drivers:</P>
<P>由于将在索引、主关键字、或关系中创建重复的值,请求对表的改变没有成功,删除索引或重新定义索引以允许重复的值并再试一次。</P>
<P>这个是不是需要在程序添加索引啊?但是怎样做?</P>
<P>我用是Access数据库。下面是这部分代码:</P>
<P>if(val)<BR> {<BR>hmap=DBBeginMap(hdbc);<BR>if (hmap&lt;=0) {ShowError1();goto Error;}<BR><BR>resCode=DBMapColumnToInt(hmap,"test_rowindex",&amp;uutrowindex,&amp;uutrowindexStat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToInt(hmap,"test_num",&amp;uutNum,&amp;uutStat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToDouble(hmap,"test_meas1",&amp;meas1,&amp;meas1Stat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToDouble(hmap,"test_meas2",&amp;meas2,&amp;meas2Stat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToChar(hmap,"test_opid",11,testopid,&amp;opidStat,"");<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToInt(hmap,"test_res",&amp;testresult,&amp;resultStat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR>   <BR>   hstmt=DBActivateMap(hmap,"testres");<BR>   if (hstmt&lt;=0) {ShowError1(); goto Error;}<BR>   <BR>   resCode=DBCreateRecord(hstmt);<BR>   if(resCode!=DB_SUCCESS) {ShowError1();goto Error;}<BR>   <BR>   resCode=DBPutRecord(hstmt);<BR>   if(resCode!=DB_SUCCESS) {ShowError1();goto Error;}<BR>   <BR>   resCode=DBDeactivateMap(hmap);<BR>   if(resCode!=DB_SUCCESS) {ShowError1();goto Error;}<BR> }</P>
<P>问题主要出在: resCode=DBPutRecord(hstmt)  这句上</P>

engine2003 发表于 2006-2-14 19:42:03

[求助]SQL在cvi中的应用链接错误的“源程序”




我用的版本是5.5的
错误还是出在第7楼那个地方,大家帮我看看吧。谢谢先
[此贴子已经被作者于2006-2-14 11:44:06编辑过]
页: [1]
查看完整版本: [求助]SQL在cvi中的应用链接错误