快速簡單的ADO.NET sql server存儲過程調用
ADO.NET有很多值得學習的地方,這里我們主要介紹ADO.NET,包括介紹ADO.NET sql server存儲過程等方面。Disconnected類為ADO.NET框架提供了基本結構。這個類的一個示例是DataTable類,該類的對象可以在不依賴某個數據提供程序的情況下存儲數據。Shared類構成了數據提供程序的基類,由所有的數據提供程序共享。DataProviders類可以處理不同類型的數據源,他們用于在特定的數據庫上執行所有的數據管理操作。例如,SqlClient數據提供程序只能處理SQLServer數據庫。
數據庫提供程序包含Connection、Command、DataAdapter和DataReader對象。在一般的ADO.NET編程中,首先要創建Connection對象,給它提供需要的信息,例如連接字符串。然后創建一個Command對象,給它提供要執行的SQL命令的細節。這個命令可以是內置的SQL文本命令、存儲過程或對表的直接訪問。如果需要,還可以為這些命令提供參數。
#T#創建Connection和Command對象后,就必須確定命令是否返回結果集。如果命令不返回結果集,就可以通過調用幾個Execute方法之一,執行命令。另一方面,如果命令返回結果集,就必須確定是否要保留結果集,以備將來在不維持與數據庫的連接的情況下使用。如果要保留結果集,就必須創建一個DataAdapter對象,用它填充DataSet或DataTable對象。這些對象可以在斷開連接的模式下維護其中的信息。但是,如果不想保留結果集,只是要以快速方式執行命令,就可以使用Command對象創建DataReader對象。DataReader對象需要與數據庫的實時連接,它是一個只向前的只讀光標。
在ADO.NET sql server里面建立一個存儲過程,如下所示
- CREATEPROCEDURE[dbo].[UserProcedureWithParameter]
- @usernamenvarchar(50)
- AS
- select*from[user]whereusernamelike@username
- GO
在ADO.NET sql server里面這樣的調用
- privatevoidPage_Load(objectsender,System.EventArgse)
- {
- SqlConnectioncon=newSqlConnection();
- con.ConnectionString="workstationid=OVERMIND;packetsize=4096;userid=sa;password=sa;datasource=OVERMIND;
persistsecurityinfo=False;initialcatalog=wztj";- con.Open();
- SqlCommandcm=newSqlCommand("UserProcedureWithParameter",con);
- cm.CommandType=CommandType.StoredProcedure;
- SqlParameterparameter1=newSqlParameter("@username",SqlDbType.NVarChar,50);
- parameter1.Value="%"+"aa"+"%";
- cm.Parameters.Add(parameter1);
- DataSetds=newDataSet();
- SqlDataAdapterad=newSqlDataAdapter(cm);
- ad.Fill(ds,"user");
- DataGrid1.DataSource=ds;
- DataGrid1.DataBind();
- //Putusercodetoinitializethepagehere
- }