用C语言操作数据库时,已经成功连接并能够读写。代码中有如下一段内容: command = "INSERT into D31FATTR (D31ID,D31AB00) values ("; command = command + fileid_str; command = command + ",'"; command = command + autoAbs->abstractBuf; command = command +"') "; rc=SQLExecDirect(whstmt,(SQLCHAR *)command.c_str(),SQL_NTS); 其中command的数据类型为string,fileid_str和autoAbs->abstractBuf的数据类型都都是char *,此时一切正常。我又在这段代码之后加入了以下内容: command = "INSERT into D31FILES (D31ID,D31FT,D31HT) values ("; command = command + fileid_str; command = command + ",'"; command = command + (char *)title; command = command +"','"; command = command + (char *)content); command = command + "')"; rc=SQLExecDirect(whstmt,SQL_NTS); 其中title和content的数据类型都为unsigned char *, 看起来与上面代码没有什么本质区别,编译后,在执行到这段代码之前的与数据库建立连接时就失败了。 开始时我怀疑是强制类型转换造成的,为了找出原因,我把所有后加入的这段代码先全部注释掉,然后每次添加一条语句重新编译执行,发现在加入第三条语句后就已经无法连接数据库了。 我实在想不通是什么原因,工作被卡在了这里。希望有高人出手相助,我将感激不尽。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。