将Mysqldata绑定到datagridview会导致错误

时间:2016-11-11 14:39:09

标签: c# mysql datagridview

我在mysql中有一个带有文本,id和图像(blob)的表,现在我需要在datagridview中显示数据。这就是我所做的

MySqlConnection mysqlCon = new  

MySqlConnection(MySQLConnectionString);
mysqlCon.Open();

MySqlDataAdapter MyDA = new MySqlDataAdapter();
string sqlSelectAll = "SELECT * from info";
MyDA.SelectCommand = new MySqlCommand(sqlSelectAll, mysqlCon);

DataTable table = new DataTable();
MyDA.Fill(table);

dataGridView1.DataSource = new BindingSource(table,null); // Error at this line

我收到以下错误

enter image description here

我如何解决此问题

修改

我发现错误是因为有些图像是空的blob,当我选择带有图像的所有行时,我不再收到错误。

在绑定期间是否有对此进行检查

1 个答案:

答案 0 :(得分:2)

NVE值的DGV Image列的正常行为是简单地显示经典的损坏图像:

enter image description here

因此,请确保您没有代码在某处做某事导致错误。鉴于invalid parameter aksi,请确保其中没有包含损坏/错误数据的行。您还可以指定数据为空时使用的默认图像:

// class var for the image
private Image noImg = Properties.Resources.exclamation;
...
// set DS and specify null image for col:
dgv2.DataSource = new BindingSource(dtSample, null);
dgv2.Columns[2].DefaultCellStyle.NullValue = noImg;

enter image description here

如果数据实际已损坏或者您的代码正在执行导致错误的操作(如自定义格式化程序),则可能无法解决您的问题。