C# GetAllCustomers()方法
我們?cè)谑褂么鎯?chǔ)過程時(shí),經(jīng)常會(huì)SELECT一條或多條記錄。 你可以采用兩種方法來創(chuàng)建這樣的存儲(chǔ)過程。
首先我們創(chuàng)建一個(gè)名為C# GetAllCustomers()方法,代碼如下:
- public static void GetAllCustomers()
- {
- SqlConnection cnn = new SqlConnection
- ("context connection=true");
- cnn.Open();
- SqlCommand cmd = new SqlCommand();
- cmd.Connection = cnn;
- cmd.CommandText = "select * from customers";
- SqlDataReader reader = cmd.ExecuteReader();
- SqlContext.Pipe.Send(reader);
- reader.Close();
- cnn.Close();
- }
這個(gè)C# GetAllCustomers()方法用了一個(gè)[SqlProcedure]屬性來修飾。 在方法內(nèi)創(chuàng)建一個(gè)SqlConnection和一個(gè)SqlCommand對(duì)象。然后使用ExecuteReader()方法來執(zhí)行SELECT語句。接下來用Send()方法將取得的SqlDataReader數(shù)據(jù)發(fā)送到客戶端。***就是關(guān)閉SqlDataReader和SqlConnection。 在這種方法中,是我們自己創(chuàng)建的SqlDataReader。其實(shí),我們也可以把這個(gè)任務(wù)交給SqlContext類去完成,代碼如下:
- public static void GetCustomerByID
- (SqlString CustomerID)
- {
- SqlConnection cnn = new SqlConnection
- ("context connection=true");
- cnn.Open();
- SqlCommand cmd = new SqlCommand();
- cmd.Connection = cnn;
- cmd.CommandText = "select * from customers
- where customerid=@p1";
- SqlParameter p1 = new SqlParameter("@p1", CustomerID);
- cmd.Parameters.Add(p1);
- SqlContext.Pipe.ExecuteAndSend(cmd);
- cnn.Close();
- }
GetCustomerByID()方法需要一個(gè)參數(shù) – CustomerID,它將從Customers表中返回某個(gè)customer的記錄。這個(gè)方法內(nèi)的代碼,除了ExecuteAndSend()方法外,你應(yīng)該都已經(jīng)比較熟悉了。 ExecuteAndSend()方法接收一個(gè)SqlCommand對(duì)象作為參數(shù),執(zhí)行它就會(huì)返回?cái)?shù)據(jù)集給客戶端。以上介紹C# GetAllCustomers()方法
【編輯推薦】