문자열 배열을 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
나는 데이터베이스에 기록 엄청난 양의 삽입이 루틴을 만들어가, 올바른 방법은 무엇인가?
는 무슨 일이 일어날 기대합니까? 배열의 모든 요소를 단일 한 줄의 문자열로 결합하거나, 코마로 구분하거나 한 줄에 하나의 배열 항목이있는 여러 줄의 문자열로 만들겠습니까? –
SQL에 엄청난 수의 레코드를 삽입해야합니까? –