我在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
我收到以下错误
我如何解决此问题
修改
我发现错误是因为有些图像是空的blob,当我选择带有图像的所有行时,我不再收到错误。
在绑定期间是否有对此进行检查
答案 0 :(得分:2)
NVE值的DGV Image列的正常行为是简单地显示经典的损坏图像:
因此,请确保您没有代码在某处做某事导致错误。鉴于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;
如果数据实际已损坏或者您的代码正在执行导致错误的操作(如自定义格式化程序),则可能无法解决您的问题。