首页 > 解决方案 > 如何将图像插入 SQL Server?

问题描述

我正在尝试将图像插入到我在 Microsoft SQL Server 中创建的表 [学生] 中。

表学生

我正在使用FileUpload上传图像,但我的代码有问题,因为我的代码总是执行 catch 块。请帮忙

try
{
    if (FileUpload1.HasFile)
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = "Data Source=DESKTOP-H7KQUT1;Initial Catalog=SAOS;Integrated Security=True";

        string strname = FileUpload1.FileName.ToString();
        FileUpload1.PostedFile.SaveAs(Server.MapPath("~/upload/") + strname);

        con.Open();

        string insertQuery = "insert into student (SID, Email, Contact, FName, LName, HomeAddress, Gender, DOB, Image) values (@SID, @Email, @Contact, @FName, @LName, @HomeAddress, @Gender, @DOB, @Image)";
        SqlCommand cmd = new SqlCommand(insertQuery, con);

        cmd.Parameters.AddWithValue("@SID", TextBoxID.Text);
        cmd.Parameters.AddWithValue("@Email", TextBoxEmail.Text);
        cmd.Parameters.AddWithValue("@Contact", TextBoxContact.Text);
        cmd.Parameters.AddWithValue("@FName", TextBoxFName.Text);
        cmd.Parameters.AddWithValue("@LName", TextBoxLName.Text);
        cmd.Parameters.AddWithValue("@HomeAddress", TextBoxHome.Text);
        cmd.Parameters.AddWithValue("@Gender", DropDownListGender.SelectedItem.ToString());
        cmd.Parameters.AddWithValue("@DOB", TextBoxDOB.Text);
        cmd.Parameters.AddWithValue("@Image", FileUpload1.ToString());

        cmd.ExecuteNonQuery();
        con.Close();

        Label1.Visible = true;
        Label1.Text = "Image Uploaded successfully";
    }
    else
    {
        Label1.Visible = true;
        Label1.Text = "Plz upload the image!!!!";
    }
}
catch (Exception ex)
{
    MessageBox.Show("ex.Message");
}

标签: c#asp.netsql-servervisual-studio

解决方案


如果您将图像以 blob 或图像格式存储在 sql server 中,则应发送为字节数组。

int imglength = FileUpload1.PostedFile.ContentLength;
byte[] bytearray = new byte[imglength];
cmd.Parameters.AddWithValue("@image", bytearray);

推荐阅读