我现在已经写好了。如何在memo控制(注意不是dbmemo)里面显示了数据库出来..但是我现在是想修改memo1.text里面的数据(肯定也会同时修改数据库嘛).不知道怎么写..如果这样写。会不会造成数据库有什么其他的影响。我本来的思路是这样的.
    
    得到数据的memo1.text 如果要写入数据.首先先把字段清空.然后再把memo1.text里面的内容重新按行数写到数据库里面..不知道我说得清不清楚哦..
.看看图
刚刚学到数据库操作。所以回家实践一下。却发现这个问题。希望能有好心人帮忙一下。。最好能弄个完整的代码谢谢你们了。
   with datamodule1.ADOQuery1 do
   begin
   close;
   sql.Clear;
   sql.Add('select * from abcxd_ssgzz');
   open;
       for i:=0 to Recordset.RecordCount-1 do
       begin
       s:=FieldByName('ssgzz').asstring;
       memo1.Lines.Add(s);
       Next;
       end;
    end;
 这一段是将数据库的ssgzz表显示在memo1.text里面.现在我想把memo1的数据库写到库里面。

解决方案 »

  1.   

     with ADOQuery1 do
     begin
      Close;
      Sql.Clear;
      Sql.Add('update abcxd_ssgzz set ssgzz=:ssgzz');
      parameters.parambyname('ssgzz').value :='';
      ExecSql; 
     end;
    for i=0 to memo1.lines.count do
    begin
     with ADOQuery1 do
     begin
      Close;
      Sql.Clear;
      Sql.Add('insert into abcxd_ssgzz (行数,ssgzz) values (:行数,:ssgzz)');
      parameters.parambyname('行数').value := I;
      parameters.parambyname('ssgzz').value := memo1.lines.Strings[I];
      ExecSql; 
     end;
    end
      

  2.   

    update的方法按照常规就可以。
    但是要注意update的时候需要有条件,这个条件的选取是关键。投机点,你可以吧数据id跟memo的行数逐一对应起来,以此作为update的条件。然后用一个循环进行update。
      

  3.   


    for i=0 to memo1.lines.count - 1 do 
      

  4.   

    不好做啊,Memo1加了新的行,或者删除行,把行调整了值,没办法处理啊要么就自己写个简单的memo,然后自己定义一个格式,比如说 memo1.lines.add('100=a');那么界面只显示a,但是可以get出ID为100
      

  5.   

    干嘛要在memo里做? 吃力不讨好