gpt4 book ai didi

c# - MySql数据库连接与C#同步以查看特定表值

转载 作者:行者123 更新时间:2023-11-30 00:05:56 26 4
gpt4 key购买 nike

我正在 C# 上实现一个连接到 MySql 数据库的应用程序。在应用程序的一部分中,我使用计时器每 2 分钟在多行文本框中显示 MySql 数据库 table1 中的数据。现在,代码运行完美。但是,在我用来显示数据库 table1 行值的 textbox1 中,它只是清除检索到的数据并从表中获取整组数据并显示在文本框 View 。问题是当数据库变得更大(比如数千行)时,它会每 2 分钟一次又一次地清除并检索所有行数据。

<小时/>
private void timer1_Tick(object sender, EventArgs e)
{
string myConnection = "datasource=localhost;port=3306;username=root;password=";
MySqlConnection myConn = new MySqlConnection(myConnection);
MySqlCommand command = myConn.CreateCommand();
command.CommandText = "Select * FROM database_name.table1";
MySqlDataReader myReader;

try
{
myConn.Open();
myReader = command.ExecuteReader();

textBox1.Text = string.Empty; //Clearing the retrieved data

//looping and gets every row value from table1
while (myReader.Read())
{
if (textBox1.Text.Length > 0)
textBox1.Text += Environment.NewLine;

for (int i = 0; i < myReader.FieldCount; i++)
textBox1.Text += myReader[i].ToString() + " ";
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
myConn.Close();
}
<小时/>

有两个问题我仍在努力解决:

01.) I want to get only the updated value from the data base.
02.) How to stick to the bottom in the multi-line text box when it keep updating?

对此的任何帮助都会很棒。

感谢高级!

最佳答案

01) 的可能解决方案是:

1) 将从表中检索到的最后一行 ID 存储在变量中。 (最后存储的ID)

2)改变

command.CommandText = "Select * FROM database_name.table1";

command.CommandText = "Select * FROM database_name.table1 where id > " + lastStoredID ;

3) 删除行

textBox1.Text = string.Empty;  //Clearing the retrieved data

更新:如果他只想要新插入的行,上面的解决方案可能是正确的。如果他不仅想要插入的行,还想要更新的行,那么上面的解决方案不是正确的。

关于c# - MySql数据库连接与C#同步以查看特定表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24547746/

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