[求助]SQL在cvi中的应用链接错误
问个问题:在参考了张毅刚的 虚拟仪器软件开发环境 labwindows/cvi 6.0数据库应用程序开发部分后,调试程序出现 Project link error:
Undefined symbo '_DBActivateSQL@8' referenced in "database.c",等等好多类似的链接错误。
在工程文件中的cvi_db.fp的文件状态里,I部分出现U,查资料知道,当出现标志U时表示仪器驱动器未加载到“Instrument”菜单中,而我的已经加入到里面了,不知该怎样解决?
回复:(engine2003)[求助]SQL在cvi中的应用链接错误...
碰到过类似情况把工程里的.fp删了重新添加一遍试试 谢谢各位了,我已经调试成功了一半,原因是没有将“cvi_db.lib”这个文件放工程文件目录中,呵呵,搞了这么多天,但是几个调用数据库的控件还有些问题,我再试试,若是能够调通,就在这里和大家分享了。 现在的问题是对调用数据库的联接还是有问题,按照ODBC管理器添加数据库文件,并将这个文件(access)文件放入到工程文件目录下后,运行程序没有反应,即在程序面板上有个联接数据库的指示灯(在联接后处于打开状态,断开联接处于关闭状态)请各位再看看。 程序发过来 ,帮你看看linuxlister@gmail.com 程序差不多已经调通了,呵呵,对我这种菜鸟来说真是不容易啊 就是UPDATE控件不能实现,与数据库的连接与读写已经实现了 能不能把程序发给大家参考一下,我也是试不成功的,谢谢 <P>我成功实现过.现在我们生产线就是用的CVI写的程序,与另外一个程序进行接口,调用它的存储过程.</P><P>可以将源码贴出来.我帮你看一看.</P>
[此贴子已经被作者于2006-1-24 21:36:10编辑过]
还是有问题哦,不好搞哦 <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<=0) {ShowError1();goto Error;}<BR><BR>resCode=DBMapColumnToInt(hmap,"test_rowindex",&uutrowindex,&uutrowindexStat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToInt(hmap,"test_num",&uutNum,&uutStat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToDouble(hmap,"test_meas1",&meas1,&meas1Stat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToDouble(hmap,"test_meas2",&meas2,&meas2Stat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToChar(hmap,"test_opid",11,testopid,&opidStat,"");<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR><BR>resCode=DBMapColumnToInt(hmap,"test_res",&testresult,&resultStat);<BR>if(resCode!=DB_SUCCESS) {ShowError1(); goto Error;}<BR> <BR> hstmt=DBActivateMap(hmap,"testres");<BR> if (hstmt<=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>
[求助]SQL在cvi中的应用链接错误的“源程序”
我用的版本是5.5的
错误还是出在第7楼那个地方,大家帮我看看吧。谢谢先
[此贴子已经被作者于2006-2-14 11:44:06编辑过]
页:
[1]