最近在做一个程序,涉及到将时间类型数据录入数据库,出现Data type mismatch in criteria expression.错误。
源码:With MainControlFrm.ADOQuery_UploadData do
begin
Close;
SQL.Clear;
ConnectionString := ConnectStr;
SQL.Add('Insert into BatteryData ([TotalTime], [Steptime]) values(:TT, :ST)');
Parameters.ParamByName('TT').Value := StrData1;
Parameters.ParamByName('ST').Value := StrData2;
ExecSQL;
endTotalTime和Steptime在数据库中是长时间类型‘12:34:56’的形式,我存储的StrData1字符串想存成“1234:56:78”的形式,因为有可能大于23:59:59。
凡是StrData1和StrData2大于23:59:59的参数 在执行过程中都会报错,小于的话就一切正常。想请教下如何将大于23:59:59的数据比如26:12:34存进数据库。比如1d:02:12:34也可以。
这两个字段不能存成字符串形式因为后面还需要用DBchart直接读取它们作为坐标轴数据。
源码:With MainControlFrm.ADOQuery_UploadData do
begin
Close;
SQL.Clear;
ConnectionString := ConnectStr;
SQL.Add('Insert into BatteryData ([TotalTime], [Steptime]) values(:TT, :ST)');
Parameters.ParamByName('TT').Value := StrData1;
Parameters.ParamByName('ST').Value := StrData2;
ExecSQL;
endTotalTime和Steptime在数据库中是长时间类型‘12:34:56’的形式,我存储的StrData1字符串想存成“1234:56:78”的形式,因为有可能大于23:59:59。
凡是StrData1和StrData2大于23:59:59的参数 在执行过程中都会报错,小于的话就一切正常。想请教下如何将大于23:59:59的数据比如26:12:34存进数据库。比如1d:02:12:34也可以。
这两个字段不能存成字符串形式因为后面还需要用DBchart直接读取它们作为坐标轴数据。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货