CREATE Table T (f image not null)CREATE PROCEDURE P(@p1 image) AS INSERT T VALUES (@p1)在VB里怎样调用这个存储过程。
Private Sub Command1_Click()Dim StmFile As ADODB.Stream
Dim adoCmd As ADODB.Command
Dim adoPar As ADODB.Parameters
Dim adoCn As New ADODB.Connection
adoCn.ConnectionString = "provider=sqloledb;server=(local);database=yourdb;uid=youruser;pwd=yourpwd"
adoCn.OpenSet StmFile = New ADODB.Stream
StmFile.Type = adTypeBinary
StmFile.mode = adModeReadWrite
StmFile.Open
StmFile.LoadFromFile ("D:\1.jpg")Set adoCmd = New ADODB.Command
With adoCmd
.CommandText = "P"
.CommandType = adCmdStoredProc
Set adoPar = .Parameters
adoPar.Append .CreateParameter("@p1", adLongVarBinary, adParamInput, 7000)
adoPar.Item(0).Value = StmFile.Read() ''在这里出错,我不知该怎样改,请知道的朋友指教。
'''程序报错为:
'''3421
'''应用程序在当前操作中使用了错误类型的值。
Set .ActiveConnection = adoCn
.Execute
End With'''''其他无关紧要的省略
End Sub
Private Sub Command1_Click()Dim StmFile As ADODB.Stream
Dim adoCmd As ADODB.Command
Dim adoPar As ADODB.Parameters
Dim adoCn As New ADODB.Connection
adoCn.ConnectionString = "provider=sqloledb;server=(local);database=yourdb;uid=youruser;pwd=yourpwd"
adoCn.OpenSet StmFile = New ADODB.Stream
StmFile.Type = adTypeBinary
StmFile.mode = adModeReadWrite
StmFile.Open
StmFile.LoadFromFile ("D:\1.jpg")Set adoCmd = New ADODB.Command
With adoCmd
.CommandText = "P"
.CommandType = adCmdStoredProc
Set adoPar = .Parameters
adoPar.Append .CreateParameter("@p1", adLongVarBinary, adParamInput, 7000)
adoPar.Item(0).Value = StmFile.Read() ''在这里出错,我不知该怎样改,请知道的朋友指教。
'''程序报错为:
'''3421
'''应用程序在当前操作中使用了错误类型的值。
Set .ActiveConnection = adoCn
.Execute
End With'''''其他无关紧要的省略
End Sub
http://download.csdn.net/detail/veron_04/1483930
这里的问题,7000小了,测试时后面加两个0就OK了,在实际程序中我改成长整型的最大值。