2014-07-20 46 views
1

我有我的代碼設置爲QuestionsCount參數,然後問題:如何在創建新的SqlParameter時設置值和數據類型?

parameterList.Add(new SqlParameter("@QuestionsCount", chunkSize)); 

    var p = new SqlParameter("@Questions", questions); 
    p.TypeName = "dbo.QuestionList"; 
    parameterList.Add(p); 

有沒有辦法,我可以結合過去三線和創建具有typeName創建新的SqlParameter的方式。我正在查看定義,但找不到取值爲(questions)和TypeName "dbo.QuestionList"的定義。

+0

我發現表值參數要求(相對)詳細的設置才能使用它們,所以我就寫了一個擴展方法:'AddWithValue (this SqlParameterCollection that,string parameterName,string typeName,IEnumerable rows)'處理設置類型等加上空'IEnumerable ''作爲'null'傳遞下來(爲什麼這是我的要求不知道...) –

回答

1

一種方法是用一個初始化提供不可用的屬性值在構造函數重載:

parameterList.Add(new SqlParameter("@Questions", SqlDbType.Structured) { TypeName = "dbo.QuestionList", Value = questions }); 
3

有對構造函數的SqlParameter不少重載,其中一些允許您指定一個數據類型和可選長度:

var p = new SqlParameter("@Questions", SqlDbType.VarChar, 100); 
p.Value = ":......."; 
parameterList.Add(p); 

退房的MSDN documentation on SqlParameter瞭解詳情。

相關問題