用ADOQUERY更新数据的问题?
procedure TForm_UserManage.Button2Click(Sender: TObject);
var
valueset:String;
begin
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQL.Clear;
DataModule1.ADOQuery1.SQL.Add('update userpower set '+ComboBox1.Text+' =:valueset');
DataModule1.ADOQuery1.Parameters.ParamByName('valueset').Value:=edit1.text;
DataModule1.ADOQuery1.ExecSQL;
DataModule1.ADOQuery1.SQL.Clear;
DataModule1.ADOQuery1.SQL.Add('select * from userpower');
DataModule1.ADOQuery1.Open;
end;
这段程序是在查找到符合条件的记录之后,对当前记录的某个字段进行更新,但是当我用
DataModule1.ADOQuery1.Parameters.ParamByName('valueset').Value:='xxx';
时,可以正确修改,用edit输入新的值就不行了,运行时总是提示:不正确的数据精度?
我的表中的几个字段全是文本型的
问题点数:20、回复次数:6Top
1 楼Frankcheng(寻欢)回复于 2004-05-01 20:12:15 得分 7
你要进行类型转换。转成什么类型要看你的定义。例如:你定义的valueset的字段是VARCHAR
那么,DataModule1.ADOQuery1.Parameters.ParamByName('valueset')。ASSTRING:=edit1.text;Top
2 楼duanazhu(阿朱)回复于 2004-05-01 20:19:29 得分 0
可是我就没有找adoquery.parameters.parambyname().asstring
只有.value啊?Top
3 楼laorer(laorer)回复于 2004-05-01 20:33:54 得分 7
有时,那些打了.之后也显示不出来Top
4 楼duronshi(redboy)回复于 2004-05-01 20:47:12 得分 6
DataModule1.ADOQuery1.Parameters.ParamByName('valueset').ASSTRING:=edit1.text;
Top
5 楼duanazhu(阿朱)回复于 2004-05-02 10:17:10 得分 0
DataModule1.ADOQuery1.Parameters.ParamByName('valueset').ASSTRING:=edit1.text;
编译时报错:未定义的asstringTop
6 楼duanazhu(阿朱)回复于 2004-05-02 18:08:44 得分 0
这个问题已经解决了,虽然楼上几位的方法都没用上,还是感谢大家了Top




