`
helpbs
  • 浏览: 1166319 次
文章分类
社区版块
存档分类
最新评论

数据库编程笔录之三

 
阅读更多
将就一下,程序能够运行再说吧。添加了错误日志后,发现有很多条记录无法插入。错误报告为传入的数据类型不一致。仔细看了程序,好像没有任何破绽啊。经过分析,可疑的语句为:
param = cmmd->CreateParameter("",adTinyInt, adParamInput, sizeof(BYTE), sMsgData15.bPosAcu);
bPosAcu是个bool类型。发现错误报告中该变量的值都是1。到数据库搜索,发现这个字段都是0(字段类型为tiny int)。嗯。应该是这里的问题了。可为什么1不行呢?不管,先强制转换为BYTE类型再说吧。因为我用的是sizeof(BYTE)
嘛。因此修改为:
param = cmmd->CreateParameter("",adTinyInt, adParamInput, sizeof(BYTE), (BYTE)(sMsgData15.bPosAcu));
程序再次运行后,再也没有这个问题了,可是,为什么bool类型不能用呢?为false时可以写入,为true就不行了。虽然问题解决了,可这个问题一直疑惑着我。。。。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics