C# 从datagridview c加载图像#
我试图用数据库中的值填充一个C# 从datagridview c加载图像#,c#,datagridview,C#,Datagridview,我试图用数据库中的值填充一个DataGridView。有一列的值为BLOB或image。现在,当我将其加载到DataGridView时,它显示一个错误:参数无效。有人能帮我吗 触发该方法 private void Form1_Load(object sender, EventArgs e) { //load company to datagrid string company = "SELECT * from tbl_payroll_company";
DataGridView
。有一列的值为BLOB
或image。现在,当我将其加载到DataGridView
时,它显示一个错误:参数无效。有人能帮我吗
触发该方法
private void Form1_Load(object sender, EventArgs e)
{
//load company to datagrid
string company = "SELECT * from tbl_payroll_company";
payroll.FillDataGrid(company, payroll_company_datagrid);
}
public void FillDataGrid(string query,DataGridView gridview)
{
dbcon.Initialize();
if (dbcon.OpenCon() == true)
{
dt = new DataTable();
adapter = new MySqlDataAdapter(query, dbcon.con);
adapter.Fill(dt);
gridview.DataSource = dt;
dbcon.con.Close();
}
}
填充我的数据网格的方法
private void Form1_Load(object sender, EventArgs e)
{
//load company to datagrid
string company = "SELECT * from tbl_payroll_company";
payroll.FillDataGrid(company, payroll_company_datagrid);
}
public void FillDataGrid(string query,DataGridView gridview)
{
dbcon.Initialize();
if (dbcon.OpenCon() == true)
{
dt = new DataTable();
adapter = new MySqlDataAdapter(query, dbcon.con);
adapter.Fill(dt);
gridview.DataSource = dt;
dbcon.con.Close();
}
}
下面是我如何保存它的
private void btnCompanyUpload_Click(object sender, EventArgs e)
{
OpenFileDialog CompanyFileDialog = new OpenFileDialog();
if(CompanyFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
Image logo = Bitmap.FromFile(CompanyFileDialog.FileName);
payroll_company_logo.Image = logo;
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
private void btnCompanySave_Click(object sender, EventArgs e)
{
if(dbcon.OpenCon() == true)
{
MemoryStream stream = new MemoryStream();
if (payroll_company_logo.Image != null)
{
payroll_company_logo.Image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
byte[] logo = stream.ToArray();
string[] column_name = {"payroll_company_logo"};
string table = "tbl_payroll_company";
string[] column_value = {logo.ToString()};
dbcon.Insert(table,column_name,column_value);
}
}
public void Insert(string table,string[] columns,string[] values)
{
this.Initialize();
con.Open();
MySqlCommand cmd = new MySqlCommand("INSERT INTO " + table + "(" + string.Join(",", columns) + ") VALUES('" + string.Join("','", values) + "')", con);
int check = cmd.ExecuteNonQuery();
con.Close();
}
错误
您能展示一下这些图像是如何存储的吗?(包含位图字节的字节数组,DGV应按原样正确解释)。@Jimi i编辑我的问题并输入保存代码。存储字节数组。您正在BLOB字段中存储字符串。请确保您的DB BLOB可以存储字节(读取链接中的内容)。@Jimi谢谢,我现在更改了插入它的方式。