c# - 如何将图像插入 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");
}
解决方案
如果您将图像以 blob 或图像格式存储在 sql server 中,则应发送为字节数组。
int imglength = FileUpload1.PostedFile.ContentLength;
byte[] bytearray = new byte[imglength];
cmd.Parameters.AddWithValue("@image", bytearray);
推荐阅读
- python - PYTHON:DICT 的 IF 语句
- oracle - 在 Oracle 12.2c 中清除队列不更新计数器 un gv$aq
- python - 如何使用 html 中表单标签中的表单数据提取信息
- javascript - 如何将未使用的数据背景添加到图表js中的条形图
- arrays - 如何在查询返回空单元格的地方返回“空”谷歌表格
- c++ - 强制 C++ 类具有对齐的属性
- python - 如何让每辆车在 Or Tools 中做点什么?
- sql - Postgres:使用子查询更新表列
- python - 使用 django 框架加载 JSON 内容
- swift - 如何在以下 mvvm 架构中使用 @Binding Wrapper?