[英]Multiple Values from ListBox
我正在使用 asp.net 和 vb.net。 我創建了 2 個列表框; lstselect 和 lstroles。 列表框 lstselect 包含可以添加到 lstroles 中的所有可用角色。 存儲過程運行時,如何將已添加到 lstroles 中的角色作為參數拉入我的數據庫?
這是我的列表框如何共享角色的代碼:
Protected Sub btnRight_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRight.Click
If lstselect.SelectedIndex <> -1 Then
lstroles.Items.Add(lstselect.SelectedItem.Text)
lstselect.Items.Remove(lstselect.SelectedItem.Text)
End If
End Sub
Protected Sub btnLeft_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLeft.Click
If lstroles.SelectedIndex <> -1 Then
lstselect.Items.Add(lstroles.SelectedItem.Text)
lstroles.Items.Remove(lstroles.SelectedItem.Text)
End If
End Sub
謝謝!
此處提供了使用表值參數的方法以及最佳實踐建議:
有兩種方法可以做到:
1)從您的列表框選定項目中創建一個逗號分隔的值。 但這不是推薦的方法,因為您需要在存儲過程中解析它。
string commaSeparatedParams = string.Join(",", myArray);
2) 創建一個 XML,每個角色都是一個節點。 並通過 XML 作為您的存儲過程參數。 大多數數據庫支持從 XML 輕松檢索數據。 順便說一句,您使用的是哪個數據庫?
3) 如果您使用的是 MS SQL 2008,您還可以使用Table-Valued Parameters
: http://msdn.microsoft.com/en-us/library/bb510489.aspx
但它只推薦用於批量插入類型的操作。 我會說,為您推薦的方法是 XML。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.