将值声明为对象?

时间:2012-01-26 11:27:16

标签: vb.net ado.net casting

在C#中我们做

byte[] imageData = new byte[];
SqlCom.Parameters.Add(new SqlParameter("@ImageData", (object)imageData));

将imageData变量作为对象。

但是我如何在Visual Basic中执行此操作?

Dim imageData As byte() = new Byte()
SqlCom.Parameters.Add(new SqlParameter("@ImageData", ?? ) <-----What Should i do here?

由于

稍微更新一下这个问题

我的代码就像这样

conn.Open() 
Dim cmd As SqlCommand = New SqlCommand("SELECT PhotoID From Photo " & str8 & " And Photo = @Photo", conn) 
cmd.Parameters.AddWithValue("@Photo", CType(Photo, Object)) 
Dim adapter As SqlDataAdapter = New SqlDataAdapter() 
adapter.SelectCommand = cmd 
adapter.Fill(table) <------when approach this line 
PhotoID = table.Rows(0)("PhotoID") 

出现这样的错误: 数据类型image和varbinary在等于运算符中是不兼容的。我该怎么办??感谢

1 个答案:

答案 0 :(得分:2)

你想要这样的东西。

Dim imageData As Byte() =  New Byte() 
SqlCom.Parameters.Add(New SqlParameter("@ImageData",CType(imageData, Object)))