簡體   English   中英

將數據插入數據庫[Delphi]

[英]Insert data into database [Delphi]

我正在嘗試使用TAdoTable組件,

  • 在窗體上創建我調用.Append()並在一個按鈕中調用.Post()

但它加載整個表! 我不需要它來加載任何東西,只需要在這個表中插入一行。

我想知道是否有“好方法”使用Ado將數據插入數據庫,我已經嘗試過使用TAdoCommand的“手動”方法,但它對我來說似乎不對

  • 我使用Format()生成INSERT查詢,並使用QuotedStr()轉義所有字符串字段

提前致謝!

亞瑟。

如果您不需要顯示表的數據,請使用TADOQuery對象。

基本上:

  • 使用TADOQuery.SQL.Text設置SQL命令
  • 使用TADOQuery.ExecSQL方法觸發SQL命令

您可以使用TADODataset(或TADOQuery)。

我做的方式,有時是通過設置在CommandText從表中返回0的記錄,即SELECT TOP 0 * FROM [table] ,然后用.Append.Post

但就個人而言,我更喜歡編寫SQL,例如使用TADOCommand

您還可以使用TADOCommand組件,並讓它執行特定的SQL命令。 如果您發現自己一遍又一遍地執行相同的命令(比如插入表中),那么請考慮使用參數而不是直接更改每個調用的SQL。 參數很容易使用,只需在您的sql中放置一個:PARAMNAME,然后使用您使用的ado組件上的參數對象來設置值。 例如:

假設TAdoCommand組件的CommandText包含“ INSERT INTO TABLENAME (FIELD1) VALUES (:FIELDVALUE1)

AdoCommand1.Parameters.ParamByName('FIELDVALUE1').Value := 'TEST'
AdoCommand1.Execute;

當執行上面的sql時,字符串“TEST”將被寫入FIELD1。

var
  CountVar: Integer;

begin

  TADOConnection1.Execute(ASQLInsertStatement, CountVar, [adExecuteNoRecords]);

end;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM