Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从MS Access数据库在datagridview中查看图片_C#_Datagridview_Datagridviewimagecolumn - Fatal编程技术网

C# 从MS Access数据库在datagridview中查看图片

C# 从MS Access数据库在datagridview中查看图片,c#,datagridview,datagridviewimagecolumn,C#,Datagridview,Datagridviewimagecolumn,我有一个Access数据库,存储了图片和其他数据。我想在DatagridView中显示数据库中的图片 这可以工作,但DatagridView中的图像高度非常小。我还想拉伸图像 我该怎么做 下面是我将Access数据库中的数据绑定到datagridview的位置: conn.Open(); OleDbCommand cmd = new OleDbCommand(cmdstr, conn); DataTable table = new DataTable(); OleDbDataAdapter d

我有一个Access数据库,存储了图片和其他数据。我想在DatagridView中显示数据库中的图片

这可以工作,但DatagridView中的图像高度非常小。我还想拉伸图像

我该怎么做

下面是我将Access数据库中的数据绑定到datagridview的位置:

conn.Open();

OleDbCommand cmd = new OleDbCommand(cmdstr, conn);
DataTable table = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(table);

DatagridView1.DataSource = table;

conn.Close();
使用这段代码,我创建了一列来显示图片,但我无法将数据库中的数据绑定到此列

DataGridViewImageColumn photoColumn = new DataGridViewImageColumn();
photoColumn.DataPropertyName = "Photo";
photoColumn.Width = 200;
photoColumn.HeaderText = "Image";
photoColumn.ReadOnly = true;
photoColumn.ImageLayout = DataGridViewImageCellLayout.Normal;

DatagridView1.Columns.Add(photoColumn);

数据库的数据由您编写的第一个代码段绑定,具体如下:

DatagridView1.DataSource = table;
将查询带来的数据绑定到Datagridview。您所要做的就是相应地设置查询以检索图像

Franlky with Dataadapter我不太确定如何存储图像,但如果使用Sqlreader:

最后,请确保为您的
Datagrid
将设计器
AutogenerateColumns
属性设置为
true

if (reader.HasRows)
    {
      while (reader.Read())
     {
         string s1 = reader[0].ToString(); ///1st field you are interested
        string s2 = reader[1].ToString();  //2nd field you want
        byte[] img = (byte[])(reader[2]);   //your photo image
      }
     }