我想将字符串数组作为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