如何使用UPDataSQL如何更新数据?
使用Query取得数据后,要进行更新应如何使用UPDataSQL?
例如:在销售窗体一中有DBEdit1显示客户名,在DBEdit1的双击事件中打开客户信息窗体,在其中的DBGrid选取一客户用于更改销售窗体中客户的信息(包括客户名,地址等)。使用BDE的控件如何实现?能否给出具体的思路和代码?我写的代码运行时可以更改数据,但更改提交不了,下次再运行,数据还是不变。

解决方案 »

  1.   

    UPDATE table_name SET column_name = new_value
    WHERE column_name = some_value
      

  2.   

    我自己找到了解决的方法,不过好像不怎么简洁frmMain.Query1.Edit;
    frmMain.Name.Text:=table1.fieldByName('sup_Name').AsString;
    frmMain.Tel.Text:=table1.fieldByName('sup_tel').AsString;
    frmMain.Fax.Text:=table1.fieldByName('sup_fax').AsString;
    frmMain.UpdateSQL1.Apply(ukModify);
    frmMain.Query1.Post;
    frmMain.Query1.CommitUpdates;有简单的方法吗?
      

  3.   

    var 
      sql: String;
      sql := 'UPDATE table_name SET column_name =''' +  new_value
    + ''' WHERE column_name =''' +  some_value + '''';frmMain.Query1.close;
    frmMain.Query1.sql.clear;
    frmMain.Query1.sql.add(sql);
    frmMain.Query1.ececsql;
      

  4.   

    你用向导就可以了,其他的让 Delphi 自己搞定。
      

  5.   

    你把UpdateSQL和Query关联,再双击UpdateSQL就出现向导,里面已经产生了Insert, Delete,Update的SQL语句,你可以根据情况自己修改,
    比如自动产生的SQL语句都是根据所有字段的旧值更新数据的,你可以改为根据主键更新以后如果数据库结构作了修改,要重新修改UpdateSQL里面的SQL,否则可能出错
    用BDE就有这个麻烦,建议你用ADO吧,不但自动生成SQL语句,还可以自动处理Join的多个表我两年前就改用ADO了,感觉很爽啊, :)