2011-03-03 78 views
1

您可以使用帶有單詞的文本框並將其傳遞給SQL存儲過程?我想使用存儲過程,但我試圖創建一個搜索頁面,所以我想我正在試圖找出如何保留存儲過程,但將文本框的值傳遞給存儲過程。SQL存儲過程值來自頁面

+0

一些更多的細節會很好。語言? WinForm的/ Web窗體? – 2011-03-03 16:18:07

回答

3

是的,很容易,這裏是一個完整的article舉例

下面是相關的代碼片段:

類別名稱可以從你的控件的Text屬性進行設置。

static void GetSalesByCategory(string connectionString, 
    string categoryName) 
{ 
    using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 
     // Create the command and set its properties. 
     SqlCommand command = new SqlCommand(); 
     command.Connection = connection; 
     command.CommandText = "SalesByCategory"; 
     command.CommandType = CommandType.StoredProcedure; 

     // Add the input parameter and set its properties. 
     // HERE IS What you need. 
     SqlParameter parameter = new SqlParameter(); 
     parameter.ParameterName = "@CategoryName"; 
     parameter.SqlDbType = SqlDbType.NVarChar; 
     parameter.Direction = ParameterDirection.Input; 
     parameter.Value = categoryName; 

     // Add the parameter to the Parameters collection. 
     command.Parameters.Add(parameter); 

     // Open the connection and execute the reader. 
     connection.Open(); 
     SqlDataReader reader = command.ExecuteReader(); 

     if (reader.HasRows) 
     { 
      while (reader.Read()) 
      { 
       Console.WriteLine("{0}: {1:C}", reader[0], reader[1]); 
      } 
     } 
     else 
     { 
      Console.WriteLine("No rows found."); 
     } 
     reader.Close(); 
    } 
} 
+0

值得一提的是,有些東西(稱爲它們 - 工具?庫?框架?)可以讓這個過程更容易一些,例如, Linq To SQL,Enterprise Library,nHibernate,Entity Framework等 – 2011-03-03 17:53:16

+0

當然,我剛剛認爲OP是一個比較新的東西,俗話說他必須飛行的人必須先學會走路等,即學習大多數抽象的東西,然後抽象出 – kd7 2011-03-03 17:55:49