我想將字符串數組作爲SQL參數傳遞,但是當我執行該命令時,它會拋出一個異常,指出「對象必須實現IConvertible」。這裏是代碼(所有三列是nvarchar的):無法將SQL參數值設置爲字符串數組
Public Sub sendsms(messageBodies As String(), ByVal recipientNumbers As String(), Optional ByVal chkMsgIds As string() = Nothing)
Dim con As New SqlConnection
con.ConnectionString = connection.Sms
Dim cmd As New SqlCommand("insert into sentmessage (text,id,number) values (@text,@id,@number)", con)
cmd.Parameters.Add("@text", Data.SqlDbType.NVarChar, n).Value = messageBodies
cmd.Parameters.Add("@id", Data.SqlDbType.NVarChar, n).Value = chkMsgIds
cmd.Parameters.Add("@number", Data.SqlDbType.NVarChar, n).Value = recipientNumbers
con.Open()
cmd.ExecuteNonQuery()
con.Close()
cmd.Dispose()
End Sub
我創造了這個程序中插入的記錄大量到數據庫中,什麼是正確的做法?
你預期會發生什麼?你是否希望將數組的所有元素合併爲一個單獨的行字符串,或者用逗號分隔,還是將其製作爲每行含有一個數組項的多行字符串? – 2012-08-11 11:12:15
我應該如何插入大量的記錄到sql? – 2012-08-11 11:19:26