這是我的SQL查詢手冊工作:存儲過程的參數數組CSHARP到MSSQL
SELECT * FROM Accounts where Phone in ('05763671278','05763271578','04763125578')
我怎麼能得到參數像這樣從csharp的存儲過程?
我在C#中有一個手機數組。我從視圖中的參數中獲取這個數組(複選框選擇)。這是我的看法:
<td><input type="checkbox" class="CheckboxClass" value="'@item.Phones'"/></td>
這是我的控制器操作:
public ActionResult SendSMSOrMail(string[] values){
// this give "'05763671278','05763271578','04763125578'"
string numbers = string.Join(",", values);
// ...
utility.cmd.Parameters.Add("@numbers", numbers);
// ...
}
但結果是null
。哪裏不對?我想獲得包含這些手機的所有記錄的結果。
參數按順序添加,不需要名稱。所以使用:utility.cmd.Parameters.Add(「05763671278」); – jdweng
您不能參數化IN列表,而是使用Table Valued參數,例如, https://stackoverflow.com/questions/5595353/how-to-pass-table-value-parameters-to-stored-procedure-from-net-code/https://stackoverflow.com/questions/2377506/pass- array-parameter-in-sqlcommand –
使用[Table-Valued Parameters](https://docs.microsoft.com/en-us/sql/relational-databases/tables/use-table-valued-parameters-database-engine) – Sami