用TADOQuery:username表中只有PassWord,User_Name两个字段
插入
with ADOQuery1 do
begin
   Sql.SQL.Clear;
   Sql.sql.Add('Insert into username values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")');
   Sql.Open;
end;
可以执行;
with ADOQuery1 do
begin
   Sql.SQL.Clear;
   Sql.sql.Add('Insert into username(User_NamePassWord) values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")');
   Sql.Open;
end;
不可以执行;
为什么?如果我只插入一个字段,给如何写,请给出列子,通过给分。更新
with ADOQuery1 do
begin
   Sql.SQL.Clear;
   Sql.sql.Add('update username set Password=:'+ EdtUserNameC.Text +' where User_Name=:'+ EdtKeyC.Text);
   Sql.ExecSQL;
end;
不可以执行;
错误提示:不正常定义参数对象;提供了不一致或不完整的信息。
要如何才能正确执行。请给出列子,通过给分
还有Application.exeName在什么地方写,我要手写数据库连结,如何用Application.exeName的本地路径。

解决方案 »

  1.   

    'update username set Password=:'+ EdtUserNameC.Text +' where User_Name=:'+ EdtKeyC.Text);password=赋值是错误的,不用加":",同时user_name=后面相同的错误!
      

  2.   

    第一方法能执行因为你的insert语法是正确的,insert语法参考联机帮助!
      

  3.   

    1、为什么用Open//应该用ExecSQL2、Sql.sql.Add('Insert into username(User_Name,PassWord) values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")');3、Sql.sql.Add('update username set Password='''+ EdtUserNameC.Text +''' where User_Name='''+ EdtKeyC.Text+'''');注意'号的使用方法,如果你使用 Password=:  “:”必须接参数
      

  4.   

    ADOQuery1.Close;
       ADOQuery1.SQL.Clear;
       ADOQuery1.sql.Add('Insert into username values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")');
       ADOQuery1.ExecSQL;   ADOQuery1.close();
       ADOQuery1.SQL.Clear;
       ADOQuery1.sql.Add('update username set Password="'+ EdtUserNameC.Text +'" where User_Name="'+ EdtKeyC.Text+'"');
       ADOQuery1.ExecSQL
      

  5.   

    哦,第二中insert方法前面的字段和values后面的字段不一样多,所以错了!赶快改吧!
    如果有问题可以trace一下执行过程的语句是否正确!
      

  6.   

    要用到Application全局对象,必须uses Forms单元
      

  7.   

    with ADOQuery1 do
    begin
       Sql.SQL.Clear;
       Sql.sql.Add('Insert into username(User_NamePassWord) values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")');
       Sql.Open;
    end;
    不可以执行;//因为insert,update,delete只能使用ExecSQL来执行;而且参数要对应;
    为什么?如果我只插入一个字段,给如何写,请给出列子,通过给分。
    with ADOQuery1 do
    begin
       close;
       Sql.SQL.Clear;
       Sql.sql.Add('Insert into username(User_NamePassWord) values('''+ UserNameA.Text +''')');
       ExecSQL;
    end;更新
    with ADOQuery1 do
    begin
       close;
       Sql.SQL.Clear;
       Sql.sql.Add('update username set Password=:'+ EdtUserNameC.Text +' where User_Name=:'+ EdtKeyC.Text);
       Sql.ExecSQL;
    end;
    不可以执行;//没有带参数,语法错误;
    with ADOQuery1 do
    begin
       close;
       Sql.SQL.Clear;
       Sql.sql.Add('update username set Password='''+ EdtUserNameC.Text +''' where User_Name='''+ EdtKeyC.Text'''');
       ExecSQL;
    end;
      

  8.   

    好像就是sql.clear,sql.add .不是sql.sql.clear,sql.sql.add吧!
      

  9.   

    SQL.Clear;
       sql.Add('Insert into username(User_Name,PassWord) values(:Name,:pass)');
       ParamByName('name').asstring:=EdtUserNameA.Text;
       ParamByName('pass').asstring:=MEdtKeyA.Text;
       ExecSQL;...
    下面的你都该成这种格式,不在为“”“”.....烦恼。且不会出错!!