Lef*_*nis 5 sql sql-server-2008 visual-studio
我想插入记录varbinary(max)Byte数组中的表中,该怎么办?
使用存储过程,只需创建一个 varbinary(max) 类型的参数并将其插入表中,就像插入任何数据类型一样。
在您的 C#(或 vb 或其他)代码中,向您的 sql 命令对象添加一个参数并将字节数组设置为参数值:
command.Parameters.AddWithValue("@parameter_name", myByteArray);
Run Code Online (Sandbox Code Playgroud)
如果不使用存储过程,您可能可以使用参数化sql语句执行相同的操作,但我从未尝试过,所以我无法给出示例。
编辑:
您正在使用参数化查询,这不是我的事,所以我不能保证这会起作用。但是,这里有一些代码应该可以帮助您继续。
RemoteSQLcmd = New SqlCommand("INSERT INTO Table(1) Values (newid(), ProductID, @bin_value", RemoteSQLConn)
RemoteSQLcmd.Parameters.AddWithValue(@bin_value", imSource) ;
Run Code Online (Sandbox Code Playgroud)
二进制值必须表示为参数 (@bin_value),并且该值由 AddWithValue 语句设置。参数名称不必与列名称匹配。
一些注意事项:我建议在插入语句中使用列名称,而不是依赖于列位置,另外,我不知道“表(1)”是什么意思 - 这实际上是表的名称吗?