1:comquery 为TSQLQuery 组件,数据库为SQL Server 2000
2:datetimetostr(now)为将当时的日期和时间转为字符串,但一运行时,会出现“No value for parameter
57:52”的错误提示。即SQL语句只提取了日期和小时这一段,时间中的小时的冒号后的分和秒不能提取了,把分和秒当成是一个变量了。
3:如何解决这问题呢?with comquery do
begin
close;
sql.Clear;
sql.Add('insert SalesNow Values('+inttostr(num)+','+datetimetostr(now)+','+QuotedStr(combobox1.Text)+','+'0'+','+QuotedStr('使用中')+')');
ExecSQL;
end;
2:datetimetostr(now)为将当时的日期和时间转为字符串,但一运行时,会出现“No value for parameter
57:52”的错误提示。即SQL语句只提取了日期和小时这一段,时间中的小时的冒号后的分和秒不能提取了,把分和秒当成是一个变量了。
3:如何解决这问题呢?with comquery do
begin
close;
sql.Clear;
sql.Add('insert SalesNow Values('+inttostr(num)+','+datetimetostr(now)+','+QuotedStr(combobox1.Text)+','+'0'+','+QuotedStr('使用中')+')');
ExecSQL;
end;
sql.Add( 'insert SalesNow Values( '+inttostr(num)+ ', '''+datetimetostr(now)+ ''', '+QuotedStr(combobox1.Text)+ ', '+ '0 '+ ', '+QuotedStr( '使用中 ')+ ') ');
with comquery do
begin
close;
sql.Clear;
sql.Add('insert into SalesNow Values(:para1,:para2,:para3,:para4,:para5)');
Parameters.ParameterByName('para1').value:=num;
Parameters.ParameterByName('para2').value:=now;
Parameters.ParameterByName('para3').value:=combobox1.Text;
Parameters.ParameterByName('para4').value:=0;
Parameters.ParameterByName('para5').value:='使用中';
ExecSQL;
end;
sql.Add( 'insert SalesNow Values( '''+inttostr(num)+ ''', '''+datetimetostr(now)+ ''', '+QuotedStr(combobox1.Text)+ ', 0 , '+QuotedStr( '使用中 ')+ ') ');
begin
close;
sql.Clear;
sql.Add('insert into SalesNow Values(:para1,:para2,:para3,:para4,:para5)');
Parameters.ParamByName('para1').value:=num;
Parameters.ParamByName('para2').value:=now;
Parameters.ParamByName('para3').value:=combobox1.Text;
Parameters.ParamByName('para4').value:=0;
Parameters.ParamByName('para5').value:='使用中';
ExecSQL;
end;
num是数字型,now是时间型,ideation_shang 的方法出现类型不对提示。
inttostr(num) datetimetostr(now)赋值就行
15::.1::20
a numeric(18, 0) NULL ,
b datetime NULL ,
c char (10),
d money NULL ,
e char (10)
)with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('insert SalesNow Values(:para1,:para2,:para3,:para4,:para5)');
Parameters.ParamByName('para1').value:=1;
Parameters.ParamByName('para2').value:=now;
Parameters.ParamByName('para3').value:='aaaa';
Parameters.ParamByName('para4').value:=34;
Parameters.ParamByName('para5').value:='使用中';
ExecSQL;
end;
我已经测试过了 没问题
begin
close;
sql.Clear;
sql.Add( 'insert SalesNow Values( '+QUOTEDSTR(inttostr(num))+ ', '+QUOTEDSTR(datetimetostr(now))+ ', '+QuotedStr(combobox1.Text)+ ', '+ QUOTEDSTR('0')+ ', '+QuotedStr( '使用中 ')+ ') ');
ExecSQL;
end;