【问题标题】:SQL server 2005 Uploading image into databaseSQL server 2005 将图像上传到数据库
【发布时间】:2012-04-23 11:49:00
【问题描述】:

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

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 与图像不兼容

你能帮忙吗

【问题讨论】:

  • 您要插入的表的架构是什么?
  • 我正在使用这样的函数: public void insert_image(FileUpload file) { if (file.HasFile) ..... } 。它在 if 子句中抛出 NullReferenceException。我有一个使用此代码的插入按钮: FileUpload file = (FileUpload)this.FindControl("FleUpload");插入图像(文件);

标签: sql-server-2005


【解决方案1】:

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

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

ControlID 应该是访问控件的完整路径:这里我的文件上传控件位于 formview 中。我将我的图像作为二进制存储到数据库中(我的 db 字段类型是 Varbinary )。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    相关资源
    最近更新 更多