》》点击插入后数据库表格中还是空的。不能成功插入。错在那里。怎么改?
procedure TForm4.Button3Click(Sender: TObject);
begin
dm.DataModule3.Query_yuding.active:=false;
dm.DataModule3.Query_yuding.SQL.Clear;
dm.DataModule3.Query_yuding.SQL.add('select * from jsx.dbo.order_hotel');
dm.DataModule3.Query_yuding.SQL.Append('insert into order_hotel(xingming,kahao,shouji,dianhua,sex,chengshi,jiudianming,fangxin,chuanzhen,ruzhushijian,likaishijian) values(:xingming,:kahao,:shouji,:dianhua,:sex,:chengshi,:jiudianming,:fangxing,:chuanzhen,:ruzhushijian,:likaishijian)');
dm.DataModule3.Query_yuding.ParamByName('xingming').asstring:=edit1.text;
dm.DataModule3.Query_yuding.ParamByName('kahao').asstring:=edit3.text;
dm.DataModule3.Query_yuding.ParamByName('shouji').asstring:=edit8.text;
dm.DataModule3.Query_yuding.ParamByName('dianhua').asstring:=edit13.text;
dm.DataModule3.Query_yuding.ParamByName('sex').asstring:=edit2.text;
dm.DataModule3.Query_yuding.ParamByName('chengshi').asstring:=edit4.text;
dm.DataModule3.Query_yuding.ParamByName('jiudianming').asstring:=edit5.text;
dm.DataModule3.Query_yuding.ParamByName('fangxing').asstring:=edit6.text;
dm.DataModule3.Query_yuding.ParamByName('chuanzhen').asstring:=edit14.text;
dm.DataModule3.Query_yuding.ParamByName('ruzhushijian').asstring:=edit10.text;
dm.DataModule3.Query_yuding.ParamByName('likaishijian').asstring:=edit19.text;
dm.DataModule3.Query_yuding.ExecSQL;
dm.DataModule3.Query_yuding.Prepare;
dm.DataModule3.Query_yuding.active:=true;
end;

解决方案 »

  1.   

    你插入语句前的select是干什么阿?
    另外最后三句换成这个顺序:
    dm.DataModule3.Query_yuding.Prepare;
    dm.DataModule3.Query_yuding.ExecSQL;
    dm.DataModule3.Query_yuding.active:=true;
      

  2.   

    select 和Insert语句似乎不能同时出现的。你可先Insert再Select————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  3.   

    dm.DataModule3.Query_yuding.SQL.add('select * from jsx.dbo.order_hotel');dm.DataModule3.Query_yuding.SQL.cleardm.DataModule3.Query_yuding.SQL.Append('insert into order_hotel(xingming,kahao,shouji,dianhua,sex,chengshi,jiudianming,fangxin,chuanzhen,ruzhushijian,likaishijian) values(:xingming,:kahao,:shouji,:dianhua,:sex,:chengshi,:jiudianming,:fangxing,:chuanzhen,:ruzhushijian,:likaishijian)');
      

  4.   

    procedure TForm4.Button3Click(Sender: TObject);
    begin
      with dm.DataModule3.Query_yuding do
      begin
        active:=false;
        SQL.Clear;
        SQL.add('insert into order_hotel(xingming,kahao,shouji,dianhua,sex,chengshi,jiudianming,fangxin,chuanzhen,ruzhushijian,likaishijian)
        SQL.add(' values(:xingming,:kahao,:shouji,:dianhua,:sex,:chengshi,:jiudianming,:fangxing,:chuanzhen,:ruzhushijian,:likaishijian)');
        ParamByName('xingming').asstring:=edit1.text;
        ParamByName('kahao').asstring:=edit3.text;
        ParamByName('shouji').asstring:=edit8.text;
        ParamByName('dianhua').asstring:=edit13.text;
        ParamByName('sex').asstring:=edit2.text;
        ParamByName('chengshi').asstring:=edit4.text;
        ParamByName('jiudianming').asstring:=edit5.text;
        ParamByName('fangxing').asstring:=edit6.text;
        ParamByName('chuanzhen').asstring:=edit14.text;
        ParamByName('ruzhushijian').asstring:=edit10.text;
        ParamByName('likaishijian').asstring:=edit19.text;
        ExecSQL;
        SQL.Clear;
        SQL.add('select * from jsx.dbo.order_hotel');
        active:=true;
      end;
    end;
      

  5.   

    对了,好像sql.clear后,
    应该用sql.add命令,当然sql.append理论上也应该可以
      

  6.   

    先把这一句去掉,看能插入不能。
    dm.DataModule3.Query_yuding.SQL.add('select * from jsx.dbo.order_hotel');
    execute后,再close,sql.add,open显示更新后的内容.
      

  7.   

    things(平) ( ) 信誉:100 和caohonglong2000(chl) ( ) 信誉:100 
    说的做了。
    但是出错。提示:对象名order_hotel无效
      

  8.   

    1、检查表order_hotel的用户,是否要写成username.orader_hotel?
    2、first .prepare  then ExecSql
    3、add and append 的区别
      

  9.   

    procedure TForm4.Button3Click(Sender: TObject);
    begin
      with dm.DataModule3.Query_yuding do
      begin
        active:=false;
        SQL.Clear;
        SQL.add('insert into jsx.dbo.order_hotel(xingming,kahao,shouji,dianhua,sex,chengshi,jiudianming,fangxin,chuanzhen,ruzhushijian,likaishijian)
        SQL.add(' values(:xingming,:kahao,:shouji,:dianhua,:sex,:chengshi,:jiudianming,:fangxing,:chuanzhen,:ruzhushijian,:likaishijian)');
        ParamByName('xingming').asstring:=edit1.text;
        ParamByName('kahao').asstring:=edit3.text;
        ParamByName('shouji').asstring:=edit8.text;
        ParamByName('dianhua').asstring:=edit13.text;
        ParamByName('sex').asstring:=edit2.text;
        ParamByName('chengshi').asstring:=edit4.text;
        ParamByName('jiudianming').asstring:=edit5.text;
        ParamByName('fangxing').asstring:=edit6.text;
        ParamByName('chuanzhen').asstring:=edit14.text;
        ParamByName('ruzhushijian').asstring:=edit10.text;
        ParamByName('likaishijian').asstring:=edit19.text;
        ExecSQL;
        SQL.Clear;
        SQL.add('select * from jsx.dbo.order_hotel');
        active:=true;
      end;
    end;
      

  10.   

    SQL.add('select * from jsx.dbo.order_hotel');
    看你在SELECT语句使用了用户名,所以加上在INSERT语句中也加上了jsx.dbo.
    你再试试吧    SQL.add('insert into jsx.dbo.order_hotel(xingming,kahao,shouji,dianhua,sex,chengshi,jiudianming,fangxin,chuanzhen,ruzhushijian,likaishijian)
        SQL.add(' values(:xingming,:kahao,:shouji,:dianhua,:sex,:chengshi,:jiudianming,:fangxing,:chuanzhen,:ruzhushijian,:likaishijian)');