插入时间值

kittymimihh 2009-12-09 02:59:07
时间是datetime类型 采用的sql server

CoInitialize(NULL); //访问comm库
_ConnectionPtr pConn(__uuidof(Connection));//定义对象的同时进行初始化
//智能指针 实际上是一个类 产生一个智能指针对象 //全局接口对象 全局唯一标志符 com接口
pConn->ConnectionString = "Provider=SQLOLEDB.1;Password=123456;Data Source=王莲花;User ID=hisUser;Initial Catalog=hisNurseDB";

pConn->Open("","","",adConnectUnspecified);
_RecordsetPtr pRst(__uuidof(Recordset));
pRst = pConn->Execute("convert(varchar(25),getdate(),120)" , NULL , adCmdText);
strSQL.Format(L"INSERT INTO Information values( convert(varchar(25),getdate(),120) ,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') " ,
pRst,
lp_id,
lp_pump_type,
lp_bed,
lp_rate,
lp_preset,
lp_sum,
lp_tube_type,
lp_status,
lp_alarm1,
lp_alarm2,
lp_alarm3,
lp_alarm4);

pConn->Execute((_bstr_t)strSQL , NULL , adCmdText);

pConn->Close();

pConn.Release();

CoUninitialize();//卸载/释放comm库
上面的代码不是正确的,我是在想怎么才能把时间值带进去
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kittymimihh 2009-12-09
  • 打赏
  • 举报
回复
谢谢happyflystone 。已经查出问题了,是另外一个地方有问题

但是还有一点不明白:为什么convert(varchar(25),getdate(),120)后就不行了?

我知道sql server的datetime类型是精确到0.01秒的,smaldatetime精确到分钟,timestamp为时间戳。

我用convert(varchar(25),getdate(),120)是因为只想取到精确到秒 为什么这样做就会产生错误呢

而另外我查看表中保存的数据,发现都是精确到秒的,请问这是什么原因啊。
-狙击手- 2009-12-09
  • 打赏
  • 举报
回复
最后多一个)
-狙击手- 2009-12-09
  • 打赏
  • 举报
回复
strSQL.Format("INSERT  INTO  Information select getdate(),'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') " , 
lp_id,
lp_pump_type,
lp_bed,
lp_rate,
lp_preset,
lp_sum,
lp_tube_type,
lp_status,
lp_alarm1,
lp_alarm2,
lp_alarm3,
lp_alarm4);


kittymimihh 2009-12-09
  • 打赏
  • 举报
回复
strSQL.Format(L"INSERT INTO Information values( getdate*() ,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') " ,
lp_id,
lp_pump_type,
lp_bed,
lp_rate,
lp_preset,
lp_sum,
lp_tube_type,
lp_status,
lp_alarm1,
lp_alarm2,
lp_alarm3,
lp_alarm4);

也是通不过的
程序在这里中断了
#ifndef _SWPRINTFS_ERROR_RETURN_FIX
retval = _woutput_l(outfile, format, plocinfo, ap );
#else /* _SWPRINTFS_ERROR_RETURN_FIX */
retval = woutfn(outfile, format, plocinfo, ap );
kittymimihh 2009-12-09
  • 打赏
  • 举报
回复
strSQL.Format(L"INSERT INTO Information values( convert(varchar(25),getdate(),120) ,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') " ,
lp_id,
lp_pump_type,
lp_bed,
lp_rate,
lp_preset,
lp_sum,
lp_tube_type,
lp_status,
lp_alarm1,
lp_alarm2,
lp_alarm3,
lp_alarm4);
调试的是这个 不好意思哈
-狙击手- 2009-12-09
  • 打赏
  • 举报
回复
我的意思让你直接Getdate()不要转换,因为人本身就是datetime
kittymimihh 2009-12-09
  • 打赏
  • 举报
回复
strSQL.Format(L"INSERT INTO Information values( convert(varchar(25),getdate(),120) ,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') " ,
pRst,
lp_id,
lp_pump_type,
lp_bed,
lp_rate,
lp_preset,
lp_sum,
lp_tube_type,
lp_status,
lp_alarm1,
lp_alarm2,
lp_alarm3,
lp_alarm4);
通不过 我已经试过了 老是中断
-狙击手- 2009-12-09
  • 打赏
  • 举报
回复
strSQL.Format(L"INSERT  INTO  Information  values( getdate(),'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') " 
--小F-- 2009-12-09
  • 打赏
  • 举报
回复
VC帮顶

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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