gpt4 book ai didi

c# - 如何使用数据 GridView (Winforms、C#)更新 MySQL 表?

转载 作者:行者123 更新时间:2023-11-29 17:00:50 27 4
gpt4 key购买 nike

我对 C#(以及一般的编码)非常陌生,并且在拼凑此处发布的类似问题的答案时遇到了困难。

我正在 Visual Studio 2017 中开发 winforms C# 程序。目标是在数据网格中查看 MySQL 表的一组部分,编辑任何可见值,然后在点击时更新表中的更改一个按钮。

我已成功连接到本地 MySQL 服务器,并在数据 GridView 中显示现有数据(取决于输入的特定 SQL 查询):

//TITLE QUERY
public void runTitleQuery()
{

string MySQLConnectionString = "datasource=10.1.1.110;port=3306;username=operator;password=;database=cortex;SslMode=none";
MySqlConnection databaseConnection = new MySqlConnection(MySQLConnectionString);

string TitleSearch = "SELECT * FROM titles WHERE TITLE_NO = @TenementNumber";

try
{
MySqlCommand cmd = new MySqlCommand(TitleSearch, databaseConnection);
cmd.CommandTimeout = 60;

databaseConnection.Open();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);


MySqlParameter TenNo = new MySqlParameter();
TenNo.ParameterName = "@TenementNumber";
TenNo.Value = textboxSearchByTitle.Text;

cmd.Parameters.Add(@TenNo);

DataTable dt = new DataTable();
da.Fill(dt);

SurfaceTable.DataSource = dt;
databaseConnection.CloseAsync();

}
catch (Exception e)
{
MessageBox.Show("Query failed" + e.Message);
}
}

到目前为止一切顺利。

我现在尝试允许编辑数据(包括如果可能的话添加新行)。点击表外的按钮后,编辑内容将被发送到服务器。

我认为我出错的地方是绑定(bind)网格和未绑定(bind)网格以及 SQL 连接之间的某个地方(我仍然没有完全掌握)。

表中的每个条目都有一个唯一的标识符(列称为 TAS_ID)。

我的第一次尝试是按照以下方式做一些事情:

//Write table to server button
private void button2_Click(object sender, EventArgs e)
{

string SQLCommandString = "UPDATE Tenements WHERE TAS_ID='@TASID'";

try
{
//set string
string MySQLConnectionString = "datasource=10.1.1.110;username=operator;password=;database=cortex;SslMode=none";
MySqlConnection databaseConnection = new MySqlConnection(MySQLConnectionString);

MySqlCommand cmd2 = new MySqlCommand(SQLCommandString, databaseConnection);
cmd2.CommandTimeout = 60;

//Create parameters

MySqlDataReader MyReader2;

MyReader2 = cmd2.ExecuteReader();
MessageBox.Show("Data Updated");
while (MyReader2.Read())
{
}
databaseConnection.CloseAsync();

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

但是正如您所看到的,我不知道如何使用新数据更新该行。我尝试创建与每列相关的参数,但我感觉这不是正确的方法。

任何帮助将不胜感激!

如果需要任何进一步的信息,请告诉我。

谢谢。

最佳答案

首先,您必须演示更新方法。您想要更改所有记录然后保存它们或者您想要在编辑后保存每个单元格更新

但是你的错误是:

1.您尚未填写参数(在代码中使用 ParameterInfo 并将其添加到您的命令中)

2.update语句必须是这样的

update your_table set field_name = @value where identity_filed = @Identity_filed_value

关于c# - 如何使用数据 GridView (Winforms、C#)更新 MySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52268398/

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