帮我看错在那里

Zhentiwei 2007-12-19 08:41:46

void CStore::sql_Delete()
{
// 建立数据连接
AccADOConn m_AdoConn;
m_AdoConn.OnInitDBConnect();

// 设置SQL语句
CString sprice,scount;
sprice.Format("%f",_price);
scount.Format("%d",_count);
_bstr_t vSql;
vSql = "UPDATE Store SET Store.Tag = 1 WHERE Type = '" + _type + "' ";
vSql = vSql + "AND Brand = '" + _brand + "' ";
vSql = vSql + "AND LotNo = '" + _lotno + "' ";
vSql = vSql + "AND Pack = '" + _pack + "' ";
vSql = vSql + "AND Price = " + sprice + " ";
vSql = vSql + "AND Count_i = " + scount + " ";
vSql = vSql + "AND Provider = '" + _provider + "' ";
vSql = vSql + "AND Input_Date = '" + _date + "' ";
TRACE( vSql );

// 执行SQL语句
m_AdoConn.ExecuteSQL( vSql );

// 断开数据连接
m_AdoConn.ExitConnect();
}

在ACCESS数据库中Price字段是单精度数字, 当Price字段的内容是1.2,25,125,0.64是,都可以,怎么当内容是向27.8,245.4就都不可以了呢?
请问是我那里错了?
我单步调试,当程序到vSql上,显示sprice是27.8->27.799999,在Access中27.799999就是27.8啊。
请问各位高手,我这是错在那里了?
谢谢!
...全文
58 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shakaqrj 2007-12-19
  • 打赏
  • 举报
回复
用double好像就是99了
另外如果小数位数有个限度的话,比如两位,可以"%.2f"
Zhentiwei 2007-12-19
  • 打赏
  • 举报
回复
sprice.Format("%f",_price);
_price 本来是27.8000但是变成sprice后,就又是27.799999了,我想问题出在这里,可数据库中27.8啊。
shakaqrj 2007-12-19
  • 打赏
  • 举报
回复
问题是不是都出在浮点数格式化之后便成999的
但是如果是double的话,那就不一定是999了
shakaqrj 2007-12-19
  • 打赏
  • 举报
回复
该自己的
double类型变量
Zhentiwei 2007-12-19
  • 打赏
  • 举报
回复
问题是系统已经给人家了,没有办法改数据库的字段了,这里只是修改系统的数据接口。
哎,实在想不通了。
shakaqrj 2007-12-19
  • 打赏
  • 举报
回复
现在没办法
试试看总是好的

语法上没有问题
就只能是单双精度的不准问题了
Zhentiwei 2007-12-19
  • 打赏
  • 举报
回复
Price是单精度类型,是ACCESS一个字段,sprice是将float型转换成字符串型,便于连接SQL语句的。Price只是物件的价格,我想不需要改成双精度,谢谢。
shakaqrj 2007-12-19
  • 打赏
  • 举报
回复
Price是什么类型
access的字段类型以及sprice类型
建议改成双精度
Zhentiwei 2007-12-19
  • 打赏
  • 举报
回复
各位麻烦了,帮我看看把,我实在想不通了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧