公司急着要我学习delphi,才学,好多问题都搞不懂。
程序如下
procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOQuery1.Active:=true;
  try
     with Form1.ADOQuery1 do
     begin
        close;
        sql.Clear;
        sql.Text:='insert into username(username,password,name,sex,age,address) values(?,?,?,?,?,?)';
        parameters.ParamByName('username').Value:=edit1.Text;
        parameters.ParamByName('password').Value:=edit2.Text;
        parameters.ParamByName('name').value:=edit3.Text;
        parameters.ParamByName('sex').value:=edit4.Text;
        parameters.ParamByName('age').value:=edit5.text;
        parameters.ParamByName('address').value:=edit6.text;
        execSql;
     end;
  except
    messagebox(handle,'插入错误','',20);
  end;还有我看有些网站介绍的value(:username,:password.......)这里的:username,这是变量还是其它的什么?怎么理解呢?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ADOQuery1.Active:=true;
      try
         with Form1.ADOQuery1 do
         begin
            close;
            sql.Clear;
            sql.Add:='insert into username(username,password,name,sex,age,address) values(:username,:password,:name,:sex,:age,:address)';
            parameters.ParamByName('username').Value:=edit1.Text;
            parameters.ParamByName('password').Value:=edit2.Text;
            parameters.ParamByName('name').value:=edit3.Text;
            parameters.ParamByName('sex').value:=edit4.Text;
            parameters.ParamByName('age').value:=edit5.text;
            parameters.ParamByName('address').value:=edit6.text;
            execSql;
         end;
      except
        messagebox(handle,'插入错误','',20);
      end;
    /////
    //:username 就是参数,用SQL 表示就是@username
      

  2.   

    :UserName 可以理解为变量
    在下面的parameters.ParamByName('username').Value:=edit1.Text;
    给该变量复制, 这个称为参数传递
      

  3.   

    value(:username,:password.......)这些是变量,就是parameters.ParamByName('username').Value:=edit1.Text;这里引用的“username”的等变量'insert into username(username,password,name,sex,age,address) values(?,?,?,?,?,?)
    改成
    'insert into tablename(注:这里是表名)(username,password,name,sex,age,address) values(:username,:password,:name,:sex,:age,:address)
      

  4.   

    不行,我开始试过了,始终报错误"ADOQuery1:Missing SQL property"
      

  5.   

    确定你得adoquery1是否已经连接到数据库
      

  6.   

    这个错误很明显是adoquery1没有连接ADOconnection或分配它的ConnectionString