VBからSQLserverのSPへ配列を投げるテストをしています。
うまくいきません。
以下がソースです。
SQLServer
1drop type MeishoType; 2go 3create type MeishoType as table( 4 id int, 5 name varchar 6); 7go 8drop table Meisho; 9go 10create table Meisho( 11 id int, 12 name varchar 13); 14go 15drop procedure MeishoIns; 16go 17create procedure MeishoIns 18 @MeishoTableValues MeishoType readonly 19as 20begin 21 insert into Meisho(id, name) select id, name from @MeishoTableValues 22end 23go
VB
1Private Sub CallSP(sender As Object, e As EventArgs) Handles Button2.Click 2 3 Dim cmd As New SqlClient.SqlCommand 4 Try 5 6 Dim dt As New DataTable 7 dt.Columns.Add("id", GetType(Integer)) 8 dt.Columns.Add("name", GetType(String)) 9 dt.Rows.Add(1, "阿部") 10 dt.Rows.Add(2, "加藤") 11 dt.Rows.Add(3, "佐々木") 12 13 cmd.Connection = Cn 14 cmd.CommandText = "MeishoIns" 15 cmd.CommandType = CommandType.StoredProcedure 16 cmd.Parameters.Clear() 17 cmd.Parameters.Add("@MeishoTableValues", SqlDbType.Structured) 18 cmd.Parameters("@MeishoTableValues").TypeName = "MeishoType" 19 cmd.Parameters("@MeishoTableValues").Value = dt 20 If Cn.State = ConnectionState.Closed Then Cn.Open() 21 cmd.ExecuteNonQuery() 22 23 Finally 24 cmd.Dispose() 25 26 End Try 27 28End Sub
教えてくださすと嬉しいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/25 02:01