unit fprice;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, DBTables, DB;type
  TFormprice = class(TForm)
    Panel1: TPanel;    
    Label1: TLabel;
    Panel2: TPanel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Label5: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Table1: TTable;
    DataSource1: TDataSource;
    Query1: TQuery;
    Label2: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Formprice: TFormprice;implementation{$R *.dfm}procedure TFormprice.Button1Click(Sender: TObject);begin
if edit1.Text='' then
 begin showmessage('请输入当月铜价!');
exit;
end;
if edit2.Text='' then
begin showmessage('请输入标准铜价!');
exit;
end;
if edit3.Text='' then
begin showmessage('请输入客户名称!') ;
exit;
end;
if edit4.text='' then
begin showmessage('请输入日期!');
exit;
end;with query1 do
begin
sql.Clear;
sql.Add('insert into hbprice');
sql.Add('values(:v1,:v2,:v3,v4)');
parambyname('v1').Asstring:=edit4.text;
parambyname('v2').Asinteger:=strtoint(edit1.Text);
parambyname('v3').Asinteger:=strtoint(edit2.Text);
parambyname('v4').Asstring:=edit3.Text;
execsql;
end;
table1.Refresh;
end;end.
——********
为什么运行的时候出现   query1:parameter'v4'not found

解决方案 »

  1.   

    sql.Add('insert into hbprice');
    sql.Add('values(:v1,:v2,:v3,v4)');
    ------------->>>
    ------------->>>
    sql.Add('insert into hbprice');
    sql.Add('values(:v1,:v2,:v3,:v4)');
      

  2.   

    sql.Add('values(:v1,:v2,:v3,v4)');//少了个冒号
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sql.Add('values(:v1,:v2,:v3,:v4)');
      

  3.   

    各位,再帮我看看,添假冒号后是好了,但是又有新的问题了。
    我把数据填好后,按‘添加’后,出现提示:
    .... table does not support this operation because it is not uniquely indexed. ...
    请大家在次帮我看看哦
    谢谢!!
      

  4.   

    上面程序运行后,记录是添加了,大家帮忙写一个如何判断添加成功的代码 ,有实例的帮忙发到
    [email protected]
      

  5.   

    可以用try...except...来判断呀,
    try
      执行添加记录过程
    except
      showmessage('Error!');
    end;
      

  6.   

    表是不是设了主键?
    要插入的主键重复了?还有,执行Insert语句最好把字段列出来。
      

  7.   

    sql.Add('insert into hbprice');
    sql.Add('values(:v1,:v2,:v3,:v4)');hbprice 和'values 之间没有空格  不是错误的sql语句吗
      

  8.   

    可以用try...except...来判断呀,
    try
      执行添加记录过程
     showmessage('添加成功');
    except
      showmessage('Error!');
    end;