我的一段代码如下:
adoquery2.SQL.Clear;
adoquery2.SQL.Add('update project set nssj=:a,nssjl=:b,wsss=:c where pname=:d');
adoquery2.Parameters[0].Value:=nsss-nssd;
adoquery2.Parameters[1].Value:=(nsss-nssd) / nsss;
adoquery2.Parameters[2].Value:=nsss;
adoquery2.Parameters[3].Value:=trim(dbedit1.Text);
adoquery2.ExecSQL;
// nsss nssd都是double型返回的错误是 “至少一个参数没有被指定值” 很是莫名????
大家帮忙看一下
adoquery2.SQL.Clear;
adoquery2.SQL.Add('update project set nssj=:a,nssjl=:b,wsss=:c where pname=:d');
adoquery2.Parameters[0].Value:=nsss-nssd;
adoquery2.Parameters[1].Value:=(nsss-nssd) / nsss;
adoquery2.Parameters[2].Value:=nsss;
adoquery2.Parameters[3].Value:=trim(dbedit1.Text);
adoquery2.ExecSQL;
// nsss nssd都是double型返回的错误是 “至少一个参数没有被指定值” 很是莫名????
大家帮忙看一下
依次类推。
这样不容易错.
adoquery2.close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('update project set nssj=:a,nssjl=:b,wsss=:c where pname=:d');
adoquery2.Parameters[0].Value:=nsss-nssd;
adoquery2.Parameters[1].Value:=(nsss-nssd) / nsss;
adoquery2.Parameters[2].Value:=nsss;
adoquery2.Parameters[3].Value:=trim(dbedit1.Text);
adoquery2.ExecSQL;
为什么要写成 类似“=:a” ?
SQL不是”=@a”吗? 望解答,谢谢这样可以不?
adoquery2.SQL.Add('update project set nssj='+a+',nssjl='+b+',wsss='+c+' where pname='+d');另外, adoquery2.Parameters[3].Value:=trim(dbedit1.Text);变成string型了
adoquery2.SQL.Clear;
adoquery2.SQL.Add('update project set nssj=:a,nssjl=:b,wsss=:c where pname=:d');
adoquery2.Parameters.Clear;
adoquery2.Parameters.refresh;
adoquery2.Parameters[0].Value:=nsss-nssd;
adoquery2.Parameters[1].Value:=(nsss-nssd) / nsss;
adoquery2.Parameters[2].Value:=nsss;
adoquery2.Parameters[3].Value:=trim(dbedit1.Text);
adoquery2.ExecSQL;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('update project set nssj=:a,nssjl=:b,wsss=:c where pname=:d');
adoquery2.Prepared := True; //<----加上这句话试试看
adoquery2.Parameters[0].Value:=nsss-nssd;
adoquery2.Parameters[1].Value:=(nsss-nssd) / nsss;
adoquery2.Parameters[2].Value:=nsss;
adoquery2.Parameters[3].Value:=trim(dbedit1.Text);
adoquery2.ExecSQL;
为什么要写成 类似“=:a” ?
SQL不是”=@a”吗? 望解答,谢谢这样可以不?
adoquery2.SQL.Add('update project set nssj='+a+',nssjl='+b+',wsss='+c+' where pname='+d');另外, adoquery2.Parameters[3].Value:=trim(dbedit1.Text);变成string型了