台灣最大程式設計社群網站
線上人數
1278
 
會員總數:246229
討論主題:189787
歡迎您免費加入會員
討論區列表 >> MS SQL >> MS SQL + ASP.NET之間溝通的stored procedure
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
MS SQL + ASP.NET之間溝通的stored procedure
價值 : 100 QP  點閱數:1035 回應數:1
樓主

阿弦
門外漢
0 28
511 56
發送站內信


各位高手們大家好,
我目前使用asp.net 去呼叫MS SQL的stored procedure(以下簡稱SP),
我的網頁上有一個下拉選單,裡面有三個項目可多選(選單選項: 商品A、商品B、商品C)
我的MS SQL有個Table叫Production,有一個欄位是ProductionName,裡面就是存下拉選單的名字。

我目前的作法是,在網頁上把下拉選單所選的項目先用C#串好一個SQL語法
語法如下:
where ProductionName = '商品A' OR productionName = '商品B' (當然這語法不是固定的,是要看選了哪些項目SQL語法會跟著有不同變化)
然後我將這段SQL字串當作參數送到SP裡,
我在SP裡面寫了以下語法





以上做法是用字串去串出一個sql語法,然後再執行那組字串

我的問題是:
我想要改sp變成不是用字串的方式去組出一個sql語法,
我想要這個sp可以直接執行,不用再去EXEC sp_executesql @cmd
請問我該怎麼做呢?
懇請各位大大能夠幫忙解惑了,感激不盡~~~Orz



搜尋相關Tags的文章: [ ms sql ] , [ sql ] , [ asp.net ] , [ stored procedure ] ,
本篇文章發表於2016-08-10 11:18
1樓
ALTER PROCEDURE [dbo].[GetProductionInformation]
@變數 VARCHAR(MAX)
AS
select 你要的欄位 from Production where 欄位=@變數


--asp.net 前端 exec [GetProductionInformation] @變數 <====餵變數


下面是範例
Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim sql As String = "exec proc_業務獎金明細 '" + Me.TextBox1.Text + "','" + Me.TextBox2.Text + "','" + Me.Label1.Text + "','" + Me.Label2.Text + "'"
Dim dt As DataTable = db.getdt(sql)
Me.ASPxGridView1.DataSource = dt
Me.ASPxGridView1.DataBind()
End Sub
本篇文章回覆於2016-08-10 15:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.