Visual Studio .NET IDE 提供圖形化預存程序開發體驗,配合 ADO.NET SqlDataAdapter/DataSet 實現高效資料存取架構。
CREATE PROCEDURE dbo.up_GetPublisherInfo AS
SELECT pub_id, pub_name, city, state, country FROM publishers
RETURN
CREATE PROCEDURE dbo.up_UpdatePublisherInfo
@pub_id CHAR(4), @pub_name VARCHAR(40), @city VARCHAR(20),
@state CHAR(2), @country VARCHAR(30)
AS
UPDATE publishers SET pub_name=@pub_name, city=@city, state=@state, country=@country
WHERE pub_id = @pub_id
RETURN
@ 前綴宣告參數,指定型別、長度。OUTPUT 關鍵字可宣告輸出參數,回傳資訊給呼叫端。// SqlDataAdapter 呼叫預存程序填充 DataSet
SqlDataAdapter da = new SqlDataAdapter("up_GetPublisherInfo", conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
da.Fill(ds, "Publishers");
// 更新回寫
SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.Update(ds, "Publishers");
CommandType.StoredProcedure 明確指定呼叫類型。SqlCommandBuilder 自動產生 INSERT/UPDATE/DELETE 指令 (需單表、有主鍵)。DataSet 離線架構:填充 → 記憶體修改 → 批次更新,減少資料庫往返。VS.NET IDE 降低預存程序開發門檻,ADO.NET SqlDataAdapter/DataSet 提供離線批次更新架構。兩者結合,實現「資料庫邏輯下沉、中介層輕量化、網路效能最佳化」的經典分層模式。