【发布时间】:2020-01-06 17:48:56
【问题描述】:
我将 MS Access 数据库中的数据存储在 DataTable 中,然后在 DataGridView 上显示。
所有列都显示,除了图像列。我已将图像作为“OLE 对象”存储在数据库中。我想在最后一列显示图像,但当表单加载时出现错误:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace ShowDataInDatagridviewFromAccessDatabase
{
public partial class Form1 : Form
{
OleDbConnection acceddDatabaseConnection = null;
string connectionSttring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Authentic\Documents\Database1.accdb";
string sqlQuery = "SELECT * FROM Table1";
public Form1()
{
acceddDatabaseConnection = new OleDbConnection(connectionSttring);
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
acceddDatabaseConnection.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(sqlQuery, acceddDatabaseConnection);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
dataGridView1.DataSource = dataTable;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (acceddDatabaseConnection != null)
{
acceddDatabaseConnection.Close();
}
}
}
}
}
【问题讨论】:
-
你确定
jtable吗? -
@JQSOFT 对不起,我的意思是 Datagridview
-
我搞定了。我必须在 OLE OBJECT COLUMN 的 msaccess 数据库中将图像保存为 byte[] 数组。然后在检索结果时将结果转换为 byte[]。 @JQSOFT 谢谢。
标签: c# database image ms-access datagridview