热线电话:13121318867

登录
首页精彩阅读ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法
ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法
2017-12-31
收藏

ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法

有些情况下,SQL SERVER 2008r2中需要保存float,int类型的数据,当C++中的变量为double类型时,先格式化为Cstring格式,再组合成SQL语句。
对应的C++ 插入语句写法如下:
[cpp] view plain copy

    m_pConnection->Execute(_bstr_t("INSERT INTO Gps(GPSTIME,S1XZWZ,S1X,S1Y,S1HZJD,S1DW,S1FX)\  
            VALUES ('"+timegps+"','"+s1_distancestr+"','"+s1xstr+"','"+s1ystr+"','"+s1hzjdstr+"','"+sdw1+"','"+s1fangxiang+"')"),NULL,adCmdText);   

其中表Gps的结构如下:

其中timegps,s1_distancestr,s1xstr等变量均为CString 类型变量
timegps为格式化后的时间字符串,
s1_distancestr为double类型变量s1_distance格式化后的字符串
如:s1_distancestr.Format("%.2lf",s1_distance);
执行插入后,结果如下图所示:

可以看到虽然插入时的SQL语句中变量为Cstring类型,但是不影响它在数据库中的存储类型,应该是内部已经帮忙转化过了
当把表Gps的结构除了datetime列以外全部改为varchar(50)类型时,也能全部存储。
另外数据库中float int类型插入的时候,如果变量数据为空,则默认插入0
varchar 默认插入为空
必要的时候可以通过判断这些状态,从而看出数据异常~

SQL

数据分析咨询请扫描二维码

最新资讯
更多
客服在线
立即咨询