为什么这段代码只保存第一张图片,而我选择更多的是 1
why this code only save first pic while i am selection more the 1
在上面的代码中,我用图片框 TimesSelect select编辑了多张图像并显示在面板中,面板显示了所有 select 编辑的图像,但在数据库中只有第一张图片多次,例如我 select 10张图片,在数据库中第一张图片保存了10次
if (files != null)
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Avais\Desktop\GUI of GUA\GUI of GUA\GUAdatabase.mdf;Integrated Security=True");
con.Open();
FileStream fs = new FileStream(files[0], System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] image = new byte[fs.Length];
fs.Read(image, 0, Convert.ToInt32(fs.Length));
fs.Close();
SqlCommand cmd = new SqlCommand("INSERT INTO Admin_Pic_Lib(Pictures) VALUES (@pic)", con);
SqlParameter prm = new SqlParameter("@pic", SqlDbType.VarBinary, image.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, image);
cmd.Parameters.Add(prm);
cmd.ExecuteNonQuery();
label1.ForeColor = Color.Green;
label1.Text = "Pic Added Suscussfully";
con.Close();
}
您目前只针对第一个可用的图像/文件:
FileStream fs = new FileStream(files[0], ...);
如果您想定位并保存多个文件,请考虑遍历您的文件集合并为每个文件执行此操作:
foreach(var file in files)
{
// Read each individual file and save it here
}
在上面的代码中,我用图片框 TimesSelect select编辑了多张图像并显示在面板中,面板显示了所有 select 编辑的图像,但在数据库中只有第一张图片多次,例如我 select 10张图片,在数据库中第一张图片保存了10次
if (files != null)
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Avais\Desktop\GUI of GUA\GUI of GUA\GUAdatabase.mdf;Integrated Security=True");
con.Open();
FileStream fs = new FileStream(files[0], System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] image = new byte[fs.Length];
fs.Read(image, 0, Convert.ToInt32(fs.Length));
fs.Close();
SqlCommand cmd = new SqlCommand("INSERT INTO Admin_Pic_Lib(Pictures) VALUES (@pic)", con);
SqlParameter prm = new SqlParameter("@pic", SqlDbType.VarBinary, image.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, image);
cmd.Parameters.Add(prm);
cmd.ExecuteNonQuery();
label1.ForeColor = Color.Green;
label1.Text = "Pic Added Suscussfully";
con.Close();
}
您目前只针对第一个可用的图像/文件:
FileStream fs = new FileStream(files[0], ...);
如果您想定位并保存多个文件,请考虑遍历您的文件集合并为每个文件执行此操作:
foreach(var file in files)
{
// Read each individual file and save it here
}