你这样肯定是NULL的~~ 加:的意思是把S当做一个参数,你后面要对那个参数赋值的。加上这句sql.add('insert into mytable values(:s)'); Parameters.ParamByName('s').value:=s;
终于解决了 with ADOQuery1 do begin Close; SQL.Text := 'select * from artlsbmk where Field1= :Param1 and Field2=:Param2'; Parameters.ParamByName('Param1').Value := 'abc'; Parameters.ParamByName('Param2').Value := 2; Open; end; ADO中的参数没有AsString, asInteger,全用.Value, 参数访问方法都用Parameters.ParambyName('ParamName').Value 其它的我没试,先用着吧。参数前要加::而且还要 parameters.ParamByName('').value:='';
SqL.Add('insert into mytable values(s)');出错 sql语句的问题 该为 insert into mytable (列1) values (s)
//try it
SqL.Add('insert into mytable values('+s+')');
如果有integer的话就要转为字符串
如果还报错,就把错误信息一起发上来~~
不过 写进去的内容成了 NULL 了 。
sql.add('insert into mytable values(:s)');这样运行的时候不会报错 。不过写进去的内容是NULL。
加:的意思是把S当做一个参数,你后面要对那个参数赋值的。加上这句sql.add('insert into mytable values(:s)');
Parameters.ParamByName('s').value:=s;
with ADOQuery1 do
begin
Close;
SQL.Text := 'select * from artlsbmk where Field1= :Param1 and Field2=:Param2';
Parameters.ParamByName('Param1').Value := 'abc';
Parameters.ParamByName('Param2').Value := 2;
Open;
end;
ADO中的参数没有AsString, asInteger,全用.Value,
参数访问方法都用Parameters.ParambyName('ParamName').Value
其它的我没试,先用着吧。参数前要加::而且还要 parameters.ParamByName('').value:='';
该为 insert into mytable (列1) values (s)