而且我會去半反對! ;-)
可能有些情況下,TADOQuery很適合這兩個作業的。 如果將導致您的查詢數據使用TADOQuery.Acvite := True
, 如果您需要進行更新\插入\刪除使用TADOQuery.ExecSQL.
例如,您可以編寫一個查詢來更新\插入,然後選擇記錄,並做到在一個組件而不是介紹兩個。
DECLARE @ID int, @Mode int, @SomeValue varchar(20)
SET @ID = :ID
SET @Mode = :Mode
SET @SomeValue = :SomeValue
IF (@Mode = 1) //INSERT
BEGIN
INSERT INTO dbo.YourTable(ID, SomeColumn) VALUES(@ID, @SomeValue)
END ELSE
IF (@Mode = 2) //UPDATE
BEGIN
UPDATE dbo.YourTable SET SomeValue = @SomeValue WHERE ID = @ID
END ELSE
IF (@Mode = 3) //DELETE
BEGIN
DELETE FROM dbo.YourTable WHERE ID = @ID
END ELSE
IF (@Mode = 4) //SELECT
BEGIN
IF (@ID = -1) //SELECT ALL
BEGIN
SELECT * FROM dbo.YourTable
END ELSE
BEGIN
SELECT * FROM dbo.YourTable WHERE ID = @ID
END
END
只是一個例子,現在寫了。我希望你明白這個主意。
我相信鏈接引用和你自己的問題已經提供了線索來回答你。使用TADOCommand和TADODataSet。此外,使用用戶界面的DB Aware控件。 – 2010-06-01 08:43:17