self.ADOQuery1.close;
self.ADOQuery1.SQL.Clear;
self.ADOQuery1.SQL.Add('update maintable');
self.ADOQuery1.SQL.Add('set no =:nu,sttime=:time,stwork=:work,edtime=:endtime,edwork=:show,flag=:flag1');
self.ADOQuery1.Parameters.ParamByName('nu').Value:=dbedit1.text;
self.ADOQuery1.Parameters.ParamByName('time').Value:=strtodate(dbedit2.Field.AsVariant);
self.ADOQuery1.Parameters.ParamByName('work').Value:=dbedit3.text;
self.ADOQuery1.Parameters.ParamByName('endtime').Value:=strtodate(dbedit4.Field.AsVariant);
self.ADOQuery1.Parameters.ParamByName('show').Value:=dbedit5.text;
self.ADOQuery1.Parameters.ParamByName('flag1').Value:=dbedit6.Text;
if self.ADOQuery1.Prepared=false then self.ADOQuery1.Prepared;
self.ADOQuery1.execsql;
我想用控件的内容对数据库的记录进行修改
可是上边的代码报错:运行程序当前使用了错误的类型值,我不知道那里错了!
我的数据库结构是:
NO 数值型
STTIME 日期时间型
STWORK 字符型
ENTIME 日期时间型
EDSHOW 字符型
FLAG 字符型
self.ADOQuery1.SQL.Clear;
self.ADOQuery1.SQL.Add('update maintable');
self.ADOQuery1.SQL.Add('set no =:nu,sttime=:time,stwork=:work,edtime=:endtime,edwork=:show,flag=:flag1');
self.ADOQuery1.Parameters.ParamByName('nu').Value:=dbedit1.text;
self.ADOQuery1.Parameters.ParamByName('time').Value:=strtodate(dbedit2.Field.AsVariant);
self.ADOQuery1.Parameters.ParamByName('work').Value:=dbedit3.text;
self.ADOQuery1.Parameters.ParamByName('endtime').Value:=strtodate(dbedit4.Field.AsVariant);
self.ADOQuery1.Parameters.ParamByName('show').Value:=dbedit5.text;
self.ADOQuery1.Parameters.ParamByName('flag1').Value:=dbedit6.Text;
if self.ADOQuery1.Prepared=false then self.ADOQuery1.Prepared;
self.ADOQuery1.execsql;
我想用控件的内容对数据库的记录进行修改
可是上边的代码报错:运行程序当前使用了错误的类型值,我不知道那里错了!
我的数据库结构是:
NO 数值型
STTIME 日期时间型
STWORK 字符型
ENTIME 日期时间型
EDSHOW 字符型
FLAG 字符型
self.ADOQuery1.Parameters.ParamByName('nu').Value:=strtofloat(dbedit1.text);测试一下
就是上面仁兄说的:
self.ADOQuery1.Parameters.ParamByName('nu').Value:=strtoint(dbedit1.text);
刚刚的问题解决了但还是错问题
提示:
IS NOT A VALID INTEGER VALUE
self.ADOQuery1.SQL.Add('set no
好像没空格
你没有设置参数的数据类型
你还不如不用参数
IS NOT A VALID INTEGER VALUE
是你没有给那个字段赋值
空的转换时肯定报错,错误的数值字符转换也报错,都是这样的错误
我的DBEDIT1.TEXT里面的值是原来数据库的值啊
我一进去第二个FORM就把它的ADO设置成了EDIT
里边有个数字啊13
去掉空字符看看