SQL server 2005将图像上传到数据库

时间:2012-04-15 06:13:07

标签: sql-server-2005

我想将图像上传到数据库中,因此我添加了一个uploadfile控件,我正在使用这样的插入命令:

INSERT INTO tab_employee(inter_sn, card_no, Tazkara_N, Tazkara_Vol, Tazkara_Page, Tazkara_SN, Name_emp, Fname_emp, GrandFatherName, Family_name, Gender, Birth_Day, Birth_Month, Birth_year, Marital_status, DOJ_Day, DOJ_Month, DOJ_Year, Position, Type_empl, Grade, Work_grade, Prof_level, Kadri_a, Act_code, ethic_gr, File_no, Birth_place, rem1, rem2, rem3,EngName,EngLastName,position_eng,**photo**) VALUES (@inter_sn, @card_no, @Tazkara_N, @Tazkara_Vol, @Tazkara_Page, @Tazkara_SN, @Name_emp, @Fname_emp, @GrandFatherName, @Family_name, @Gender, @Birth_Day, @Birth_Month, @Birth_year, @Marital_status, @DOJ_Day, @DOJ_Month, @DOJ_Year, @Position, @Type_empl, @Grade, @Work_grade, @Prof_level, @Kadri_a, @Act_code, @ethic_gr, @File_no, @Birth_place, @rem1, @rem2, @rem3,@EngName,@EngLastName,@position_eng,**@photo**)

在浏览照片并尝试将数据插入数据库后,我得到了这个:

操作数类型冲突:nvarchar与图像不兼容 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:操作数类型冲突:nvarchar与图像不兼容

你可以帮助PLZ

1 个答案:

答案 0 :(得分:0)

为了将图像(插入/更新)上传到数据库,您需要在/中定义一个controlParameter,如下所示:

<asp: ControlParameter Name="photo" ControlID = "FormView1$FileUpload1" DbType ="Binary"
    />

ControlID应该是访问控件的完整路径:这里我的fileupload控件在formview中。我将我的图像作为Binary存储到数据库中(我的db字段类型是Varbinary)。