2012-04-15 80 views
0

我要上传图片到数据库,所以我加了一个uploadfile控制,我使用的INSERT命令是这样的:SQL Server 2005的图片上传到数据库

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

+0

您试图插入的表的模式是什么? – 2012-04-15 06:32:45

+0

dbo是模式 – Lucky 2012-04-15 08:06:49

+0

我正在使用这样的函数:public void insert_image(FileUpload file){if(file.HasFile).....}。它在if子句中抛出NullReferenceException。我有一个使用此代码的插入按钮:FileUpload file =(FileUpload)this.FindControl(“FleUpload”); insert_image(file); – Lucky 2012-04-15 08:10:36

回答

0

帮助为了图像(插入/更新)上传到数据库,您需要和/或如下定义controlParameter:

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

控件ID应该是访问控制的完整路径:在这里我FileUpload控件是一个FormView内。我将我的图像作为二进制存储到数据库(我的db字段类型是Varbinary)。

相关问题