我正在尝试使用TAdoTable组件
但它会加载整个表格!我不需要它来加载任何东西,只需要在这个表中插入一行。
我想知道是否有“好方法”使用Ado将数据插入数据库,我已经尝试过使用TAdoCommand的“手动”方法,但对我来说似乎不对
提前致谢!
亚瑟。
答案 0 :(得分:6)
如果您不需要显示表的数据,请使用TADOQuery对象。
基本上:
答案 1 :(得分:6)
您可以使用TADODataset(或TADOQuery)。
我这样做的方式有时是通过设置CommandText从表中返回0条记录,即SELECT TOP 0 * FROM [table]
,然后使用.Append
和.Post
但就个人而言,我更喜欢编写SQL,例如使用TADOCommand
答案 2 :(得分:2)
您还可以使用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。
答案 3 :(得分:1)
var
CountVar: Integer;
begin
TADOConnection1.Execute(ASQLInsertStatement, CountVar, [adExecuteNoRecords]);
end;