图片保存到数据库问题
slyly 2006-01-17 09:37:30 表中有一字段用于保存图片(image类型),下面是把图片插入数据库的代码:
MemoryStream picStream = new MemoryStream();
byte[] pic = null;
int len = 0;
if(pictureBox1.Image != null)
{
pictureBox1.Image.Save(picStream,System.Drawing.Imaging.ImageFormat.Jpeg);
len = (int)picStream.Length;
pic = picStream.ToArray();
picStream.Close();
}
.....
SqlParameter parm = dbOp.MakeInParm("@员工照片", SqlDbType.Image, len,photo);
.....
objComm.Parameters.Add(parm);
.....
存储过程:
CREATE PROCEDURE [UP_PERSON_DOCUMENT]
(@OPER [varchar](10),
@编号 [numeric],
@姓名 [varchar](20),
@部门 [varchar](50),
@年龄 [int],
@性别 [varchar](5),
@职务 [varchar](50),
@职称 [varchar](50),
@学历 [varchar](50),
@专业 [varchar](50),
@民族 [varchar](50),
@婚否 [varchar](10),
@生日 [datetime],
@基本工资 [numeric],
@政治面貌 [varchar](50),
@毕业院校 [varchar](100),
@调入日期 [datetime],
@起薪日期 [datetime],
@工龄 [numeric],
@本单位工龄 [numeric],
@电话 [varchar](50),
@手机 [varchar](20),
@身份证号码 [varchar](50),
@籍贯 [varchar](100),
@现住址 [varchar](200),
@备注 [varchar](500),
@员工照片 [image]
)
AS
IF @OPER = 'INSERT'
BEGIN
INSERT INTO [DBCHO].[dbo].[PERSON_DOCUMENT]
( [姓名],
[部门],
[年龄],
[性别],
[职务],
[职称],
[学历],
[专业],
[民族],
[婚否],
[生日],
[基本工资],
[政治面貌],
[毕业院校],
[调入日期],
[起薪日期],
[工龄],
[本单位工龄],
[电话],
[手机],
[身份证号码],
[籍贯],
[现住址],
[备注],[员工照片])
VALUES
( @姓名,
@部门,
@年龄,
@性别,
@职务,
@职称,
@学历,
@专业,
@民族,
@婚否,
@生日,
@基本工资,
@政治面貌,
@毕业院校,
@调入日期,
@起薪日期,
@工龄,
@本单位工龄,
@电话,
@手机,
@身份证号码,
@籍贯,
@现住址,
@备注,@员工照片)
END
GO
这段代码在pictureBox1有图片时完全没问题,但当没有图片时就出错.错误如下:
==========================================
存储过程要求"@员工照片",但未提供该差数
==========================================