gpt4 book ai didi

从数据库到 DataGridView 的 C# 图像

转载 作者:行者123 更新时间:2023-11-29 21:34:28 24 4
gpt4 key购买 nike

我对C#真的很陌生,所以我有很多问题。我有一个带有 SQL 数据库的 Windows 窗体,当我选择时,我想查看我保存的图片以及 PictureBoxTextBoxes 中的其余数据DataGridVie 中的用户 1。我知道我的问题是什么,但不知道如何解决。

void Load_table()
{
try
{
string myConnectionstring = "datasource=localhost;port=3306; username=root;password=root";
MySqlConnection myConnection = new MySqlConnection(myConnectionstring);
MySqlCommand myCommand = new MySqlCommand("SELECT idBenutzerdaten, name, vorname, straße, hausnr, plz, wohnort, telenr, personr, schlossnr, picture FROM testdb.benutzerdaten;", myConnection);
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
myDataAdapter.SelectCommand = myCommand;
myDataTable = new DataTable();
myDataAdapter.Fill(myDataTable);
BindingSource mySource = new BindingSource();
mySource.DataSource = myDataTable;
dataGridView.DataSource = mySource;
myDataAdapter.Update(myDataTable);
}
catch (Exception fehler)
{
MessageBox.Show("Es gibt ein Problem mit der Datenbank\n" + fehler.Message, "Datenbankfehler ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

这是将数据从数据库获取到DataGridView的代码。当我也想获取保存的图像时,出现错误。我知道我必须将该列更改为图像列或类似的列,但到目前为止我发现没有任何结果对我有用。

private void dataGridView_SelectionChanged(object sender, EventArgs e)
{
panel.Enabled = false;
DataGridViewCell cell = null;
foreach (DataGridViewCell selectedCell in dataGridView.SelectedCells)
{
cell = selectedCell;
break;
}
if (cell != null)
{
DataGridViewRow row = cell.OwningRow;
tbx_id.Text = row.Cells[0].Value.ToString();
tbx_name.Text = row.Cells[1].Value.ToString();
tbx_vorname.Text = row.Cells[2].Value.ToString();
tbx_strasse.Text = row.Cells[3].Value.ToString();
tbx_hausnr.Text = row.Cells[4].Value.ToString();
tbx_plz.Text = row.Cells[5].Value.ToString();
tbx_wohnort.Text = row.Cells[6].Value.ToString();
tbx_telenr.Text = row.Cells[7].Value.ToString();
tbx_perso.Text = row.Cells[8].Value.ToString();
tbx_schlossnr.Text = row.Cells[9].Value.ToString();
}
}

来自 datagridview 的事件。不确定在这里添加什么以及如何添加。但一定是这样的

imagebox.image = row.Cell[10].Value.Image();

我猜问题是 datagridview 的行来自数据库,我应该手动创建它们,但后来我遇到了更多错误。

任何帮助将不胜感激。谢谢。

最佳答案

您是否使用 blob 来存储图像?只需转换即可

imagebox.image =  byteArrayToImage(row.Cell[10].Value));
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}

关于从数据库到 DataGridView 的 C# 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35023195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com