c# - 将图像保存到数据库中的重复项
问题描述
保存/更新数据库中的图像只是我首先保存的图像的重复图像
这是针对 C# Windows 窗体的,我已经尝试在变量上添加一些空值
这是我保存图像的代码
私人无效btnsave_Click(对象发送者,EventArgs e)
if (pictureBox1.Image == null)
{MessageBox.Show("Please insert a picture");}
else
{ byte[] img = null;
FileStream fs = new FileStream(imgloc, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
img = br.ReadBytes((int)fs.Length);
db.sp_saveofficials(Main.userid, img, txtfirstname.Text, textBox1.Text, txtlastname.Text, comboBox2.Text,
dateTimePicker2.Value.Date, dateTimePicker1.Value.Date,login.username);
dataGridView1.DataSource = db.sp_viewofficials();
imgloc = null; }
我也猜想我的图片框代码可能有问题
私人无效图片框1_Click(对象发送者,EventArgs e)
OpenFileDialog open = new OpenFileDialog();
PictureBox p = sender as PictureBox;
if (p != null)
{
open.Filter = "(*.jpg;*.jpeg;*.bmp;*.png;*.gif;)|*.jpg; *.jpeg; *.bmp; *.png; *.png;";
open.Title = "Select a picture";
if (open.ShowDialog() == DialogResult.OK)
{
imgloc = open.FileName.ToString() ;
p.ImageLocation = imgloc;
}
}
我希望我可以在数据库中保存不同的图像,
我尝试保存在数据库中的所有数据都与我第一个保存的图像具有相同的图像
这是我的 db.sp_saveofficials 代码供参考
create proc sp_saveofficials
@userid int,
@pic varbinary(max),
@fname varchar (50),
@mname varchar (50),
@lname varchar (50),
@position varchar (50),
@startterm datetime,
@endterm datetime,
@addedby varchar (50)
as
insert into tblbarangayofficials values(@userid,@pic,@fname,@mname,@lname,@position,@startterm,@endterm,@addedby,GETDATE())
解决方案
推荐阅读
- reactjs - React 路由器不再渲染组件,除了默认组件
- php - Laravel:如何在注销时刷新会话和重定向?
- angularjs - 如何根据季度显示存储库中的数据?
- excel - VBA Shapes.AddTextbox 自定义布局
- python-3.x - 使用 AWS lambda 将自定义指标数据写入 CloudWatch 时超时
- c++ - 如何告诉声明为的数组的元素计数:std::unique_ptr
- pyinstaller - 运行 pyinstaller 后找不到模块
- sql - 更新查询、嵌套 iif SET 和连接表
- javascript - TypeError: is null 因为目标文件在包含
- python - 我正在尝试获取标签名称数组以进行可视化,我需要在代码下方运行但遇到问题。各位大佬可以在下面给我建议吗?