with bgkddm.QBGKD do
begin
Close;
SQL.Clear;
SQL.Add('insert into PMTJ(BGEID)');
SQL.Add('values(:id)');
parambyname('id').Value:=edit1.Text;
Open;
end;
为什么这样写,不能成功插入呢?谁能给个例子,谢谢?

解决方案 »

  1.   

    将Open;改为Execsql;
    values前面加一个空格。
      

  2.   

    好的谢谢!不过还有个问题需要解决一下,我数据表中的一个字段类型为money,而edit中输入的为字符串型,这样在写入数据库的时候就出现了类型不匹配。请问应该怎么样转换数据类型?谢谢
      

  3.   

    不知道该如何调用?请指点
    我直接这样使用
    parmabyname('jiage').Value:=convert(money,edit2.Text);
    编译提示“convert没有声明"
     
    请问该如何解决?
      

  4.   

    用StrToCurr(const S: string)把字符型转为money
      

  5.   

    parmabyname('jiage').AsCurrency:=StrToCurr(edit1.Text);
      

  6.   

    你的代码更正如斯,估计不会错了吧!with bgkddm.QBGKD do
    begin
      Close;
      SQL.Clear;
      SQL.Add('insert into PMTJ(BGEID)');
      SQL.Add('values(:id)');
      Parameters.parambyname('id').Value := edit1.Text;
      ExecSQL;
    end;