[英]How to access sql server 2008 R2 from C# ClickOnce application over a network
[英]How to retrieve image from SQL Server 2008 R2 to Datagridview in C# [Windows Application]
嗨,朋友们,我已经将图像插入到Sql Server中,并且我需要从SQL Server 2008 R2检索图像到C#[Windows应用程序]中的Datagridview列。是否有可能在Data Grid View中显示该图像,而该图像在网格视图。
我将图像插入SQL Server的代码是:
public void saveImageInDataBase(int imageid)
{
byte[] imagedata = ReadImageFile(txt_upload.Text);
SqlConnection sqlconn = new SqlConnection();
sqlconn.ConnectionString = "Data Source=.;Initial Catalog=db_payroll;Integrated Security=True;";
sqlconn.Open();
string query = "insert into tbl_image values('"+imagedata+"')";
MessageBox.Show(query);
SqlCommand cmd = new SqlCommand(query, sqlconn);
int rows = cmd.ExecuteNonQuery();
if (rows > 0)
{
MessageBox.Show("Image saved.");
txt_upload.Text = "";
pictureBox1.Image = null;
}
else
{
MessageBox.Show("Unable to save image.");
sqlconn.Close();
}
}
public byte[] ReadImageFile(string imageLocation)
{
byte[] imageData = null;
FileInfo fileInfo = new FileInfo(imageLocation);
long imageFileLength = fileInfo.Length;
FileStream fs = new FileStream(imageLocation, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
imageData = br.ReadBytes((int)imageFileLength);
return imageData;
}
请尝试解决此问题。 谢谢
存储到数据库(在数据库中, imagedata
列必须具有IMAGE
数据类型)
string query = "insert into tbl_image values(@imagedata)";
SqlCommand cmd = new SqlCommand(query, sqlconn);
cmd.Parameters.Add("@imagedata", System.Data.SqlDbType.Image);
cmd.Parameters["@imagedata"].Value = imagedata;
int rows = cmd.ExecuteNonQuery();
从数据库检索
string query = "select imagedata from tbl_image where ID=@ID";
SqlCommand cmd = new SqlCommand(query, sqlconn);
cmd.Parameters.AddWithValue("@id", id);
byte[] imagedata=(byte[])cmdSelect.ExecuteScalar();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.