« 摩羯座delphi 字符串 替换 函数 StringReplace »

DELPHI中求用ADO读写数据库的N种方法

DELPHI中求用ADO读写数据库的N种方法1 楼bluesky23(乐天_正在开发右半脑。。。^_^)回复于 2004-08-03 13:32:04 得分 10

AdoTable1.Close   ;  
                AdoTable1.TableName:=tblName;  
                AdoTable1.Open;  
                AdoTable1.Filter:=<条件语句>;  
                with   AdoTable1   do  
                begin  
                          Edit;  
                        //   FieldByName('id').Value   :=edtID.Text;  
                          FieldByName('name').Value   :=cmbName.Text   ;  
                          FieldByName('sex').Value   :=edtSex.Text   ;  
                          Post;  
                end;  
                写由条件语句指定的记录。Top

2 楼bluesky23(乐天_正在开发右半脑。。。^_^)回复于 2004-08-03 13:33:27 得分 10

with     AdoQuery1   do  
                begin  
                          Close   ;  
                          SQL.Clear   ;  
                          SQL.Add(sqlStr);  
                          Open;  
                          edtId.Text:=FieldByName('id').Value;  
                          edtName.Text:=FieldByName('name').Value;  
                          edtSex.text:=FieldByName('sex').Value;  
                end;  
  用ADOquery实现Top

3 楼SunKinXing(飞火流星)回复于 2004-08-03 13:34:19 得分 10

通过SQL语句读写,  
  通过数据集直接读写  
   
  其实你的问题问的有点大,不明白的Top

4 楼juror(绝望生鱼片)回复于 2004-08-03 13:38:30 得分 0

就象 bluesky23(乐天_我一直在努力。。。^_^)  
  用不同的方法来读写。大家探论一下那个方法好,速度快。  
   
  Top

5 楼juror(绝望生鱼片)回复于 2004-08-03 13:40:13 得分 0

介绍一下用什么控件和实现方法就行Top

6 楼windindance(风舞轻扬·白首为功名)回复于 2004-08-03 13:40:37 得分 10

实用的方法,一种就够。Top

7 楼GoldShield(李柏岑)回复于 2004-08-03 13:44:04 得分 10

只要解决了问题.Top

8 楼xufenglong(天天向上)回复于 2004-08-03 13:44:10 得分 10

連接;  
  TempS   :=   extractfilepath(Application.ExeName)+'DataBase\cdl.mdb';  
      DM.ADOConnection1     .ConnectionString   :='';  
      DM.ADOConnection1     .ConnectionString   :=  
        'Provider=Microsoft.Jet.OLEDB.4.0;Data   Source='+   TempS   +  
        ';Persist   Security   Info=False';  
      DM.ADOConnection1     .Connected   :=   false;  
      DM.ADOConnection1   .Connected   :=   true;  
  讀寫  
  最好定義為過程,隨時調用  
  function   ExecuteSQL(ActionQuery:   TADOQuery;   SQLString:   String):   boolean;  
  //功     能﹕執行SQL語句,注意無返回集,即使用DELETE\CREATE\INSERT   INTO等。  
  //參     數﹕SQLString為SQL語句。  
  //返回值﹕運行正常返回true,否則返回false。  
  begin  
      result   :=true;  
      with   ActionQuery   do  
      begin  
          close;  
          Sql.Clear;  
          Sql.Add(SQLString);  
          try  
              ExecSQL;  
          except  
              close;  
              result   :=   false;  
          end;//try  
      end;//with  
  end;  
   
  function   OpenSQL(ActionQuery:   TADOQuery;   SQLString:   String):   boolean;  
  //功     能﹕執行SQL語句,注意有返回集,即使用SELECT。  
  //參     數﹕ActionQuery   為執行的Query,SQLString為SQL語句。  
  //返回值﹕運行正常返回true,否則返回false。  
  begin  
   
      result   :=   true;  
      with   ActionQuery   do  
      begin  
          close;  
          Sql.Clear;  
          Sql.Add(SQLString);  
          try  
              Open;  
          except  
              close;  
              result   :=   false;  
          end;//try  
      end;//with  
  end;  
  Top

9 楼lwk_hlj(阿凯(学习oralce中))回复于 2004-08-03 13:47:50 得分 20

最好定義為過程,隨時調用  
  function   ExecuteSQL(ActionQuery:   TADOQuery;   SQLString:   String):   boolean;  
  //功     能﹕執行SQL語句,注意無返回集,即使用DELETE\CREATE\INSERT   INTO等。  
  //參     數﹕SQLString為SQL語句。  
  //返回值﹕運行正常返回true,否則返回false。  
  begin  
      result   :=true;  
      with   ActionQuery   do  
      begin  
          close;  
          Sql.Clear;  
          Sql.Add(SQLString);  
          try  
              ExecSQL;  
          except  
              close;  
              result   :=   false;  
          end;//try  
      end;//with  
  end;  
  有必要吗?  
  除非为了返回数据用这个  
  不然  
  adoConnection.execute   不也很好用吗?速度应该比这个好吧?Top

10 楼risingsoft(一苇渡江)回复于 2004-08-03 16:35:54 得分 10

我的一个程序里的代码;  
   
    (*增加一条明细记录到临时表*)  
      with   dm.qryFZMX   do  
      begin  
          Append;  
   
          FieldByName('CFBH').AsString:=edtCFBH.Text;  
          FieldByName('JSRQ').AsString:=FormatDateTime('YYYY-MM-DD',Date);  
          FieldByName('NBLS').AsString:=GetNextNBLS(edtCFBH.Text,2);  
          FieldByName('BM').AsString:=edtFZBM.Text;  
          FieldByName('PYBM').AsString:=UpperCase(edtFzPYBM.Text);  
          FieldByName('MC').AsString:=edtFZMC.Text;  
          FieldByName('LX').AsString:='';  
          FieldByName('JG').AsString:=edtFzJG.Text;  
          FieldByName('SL').AsString:=edtFzSL.Text;  
          FieldByName('JE').AsString:=FormatFloat('0.00',strtofloat(edtFzJG.Text)*  
                                                                                                        strtofloat(edtFzSL.Text));  
          try  
              Post;  
          except  
              Cancel;  
              ShowMess('     错误:保存辅助明细数据失败!     ',0);  
          end;  
      end;Top

11 楼jakefj(夢幻天使)回复于 2004-08-03 16:41:39 得分 10

用adoconnection1-->adoquery   or   adotable  
  或者直接用adoquery來連接

 

  • 1.518中文网
  • http://www.518zw.com/
  • 518中文网(http://www.518zw.com)提供各类小说阅读,包括玄幻小说、网游小说、武侠小说、都市言情小说等免费小说阅读,并提供TXT小说下载,是小说迷们阅读的理想家园(推存小说http://www.518zw.com/modules/article/articleinfo.php?id=8835)67
  • 2010-7-28 22:36:13 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站目录

最近发表

最新评论及回复

文章归档

Search

Powered By Z-Blog 1.8 Terminator(beta) Build 71218 Designed by Michael

Powered By Z-Blog Copyright 0-9999 subin.org.cn Rights Reserved. 晋ICP备08000685号