数据库编程笔录之三

marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280">
将就一下,程序能够运行再说吧。添加了错误日志后,发现有很多条记录无法插入。错误报告为传入的数据类型不一致。仔细看了程序,好像没有任何破绽啊。经过分析,可疑的语句为:       
        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就不行了。虽然问题解决了,可这个问题一直疑惑着我。。。。。。




将就一下,程序能够运行再说吧。添加了错误日志后,发现有很多条记录无法插入。错误报告为传入的数据类型不一致。仔细看了程序,好像没有任何破绽啊。经过分析,可疑的语句为:       
        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就不行了。虽然问题解决了,可这个问题一直疑惑着我。。。。。。




将就一下,程序能够运行再说吧。添加了错误日志后,发现有很多条记录无法插入。错误报告为传入的数据类型不一致。仔细看了程序,好像没有任何破绽啊。经过分析,可疑的语句为:       
        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就不行了。虽然问题解决了,可这个问题一直疑惑着我。。。。。。




将就一下,程序能够运行再说吧。添加了错误日志后,发现有很多条记录无法插入。错误报告为传入的数据类型不一致。仔细看了程序,好像没有任何破绽啊。经过分析,可疑的语句为:       
        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就不行了。虽然问题解决了,可这个问题一直疑惑着我。。。。。。




你可能感兴趣的:(数据库编程笔录之三)