求救!关于数据库存储图片!急!!!
平台:SQL Server 2000/VB 6.0/ADO 2.6
----------------------------------------------------
我在窗体frmYg中选择图片,然后调用自定义模块clsYgZl中的YGTPSAVE方法存储图片。
在自定义模块clsYgZl中的YGTPSAVE方法中调用了数据库的存储过程YGTPSAVE。实纪上
是想用存储过程最终实现图片的存储。VB代码运行一切正常,只是在调用存储过程的时
报以下错误:
实时错误'-2147217900 (80040e14)'
向UpdateText函数传递了Null textptr(text,ntext或image指针).
----------------------------------------------------------
以下是我的窗体模块frmYg
Private Sub cmdPhotoAdd_Click()
CommonDialog1.Filter = "BMP Files(*.bmp)|*.bmp|JPEG Files(*.jpg)|*.jpg|GIF Files(*.gif)|*.gif"
CommonDialog1.ShowOpen
fn = CommonDialog1.FileName
Picture1.Picture = LoadPicture(fn)
stm.LoadFromFile fn
jj.YGTPSAVE stm.Read 'jj为类模块clsYgZl的对象,以stm.Read为参数调用类模块的YGTPSAVE方法
End Sub
以下是我的类模块clsYgZl
Public Sub YGTPSAVE(ygtp) '类模块的方法YGTPSAVE,有一个变体类型的参数ygtp
cmd.CommandText = "YGTPSAVE" '指定存储过程YGTPSAVE
cmd.CommandType = adCmdStoredProc
Set cmd.ActiveConnection = cn
cmd.Parameters("@ygtp").Value = ygtp '传递参数
cmd.Execute '执行到这里就报错,以下是错误信息:
'实时错误'-2147217900 (80040e14)'
'向UpdateText函数传递了Null textptr(text,ntext或image指针).
End Sub
以下是我的存储过程
use dbEMS
go
create PROCEDURE YGTPSAVE
@ygtp image
as
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(EmpPhoto) FROM tableEmployee
UPDATETEXT tableEmployee.EmpPhoto @ptrval 0 0 @ygtp
go