gpt4 book ai didi

c# - 我该怎么做才能加快连接到我的 SQL 在线数据库(("pairing"速度,而不是查询速度)?

转载 作者:行者123 更新时间:2023-11-29 17:53:22 25 4
gpt4 key购买 nike

这是来 self 的 Windows 窗体应用程序的“更新端口”功能,旨在切换数据库中的 bool 值,以便在 ESP8266 上更新这些值。从按下按钮到 ESP 检测到更改,延迟时间约为 6 秒。我已经确定缓慢的部分是在尝试重新连接时,因为在连接建立后执行响应按钮按下所需的所有 3 个请求发生得非常快。有没有办法可以减少连接期间的响应时间?

private void button1_Click(object sender, EventArgs e)
{
toggleState("1");
}

private void toggleState(string _utgang)
{
bool? state = cmd("SELECT Status FROM Traverskran WHERE Utgang = " + _utgang);
if (state != null)
{
state = !state;
cmd("UPDATE Traverskran SET Status = " + state.ToString() + " WHERE Utgang = " + _utgang);
}
updatePortStats();//Differentt function that does the same as cmd() but sends "SELECT * FROM Traverskran" and dumps it into a textBox
}

private bool? cmd(string query)
{
string connectionString = ("server=" + url + ";" + "username=" + username + ";" + "password=" + password + ";" + "database=" + databaseName + ";");
connection = new MySqlConnection(connectionString);
MySqlCommand command = new MySqlCommand(query, connection);
command.CommandTimeout = 60;

try
{
connection.Open();
MySqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
reader.Read();
bool? result = (reader.GetString(0) == "True");
connection.Close();
return result;
}
connection.Close();
return null;
}
catch (Exception e1)
{
connection.Close();
return null;
}
}

最佳答案

不要为每次按下按钮创建一个新连接。打开表单时打开连接,然后使用它在按下按钮时执行所需的命令。

关于c# - 我该怎么做才能加快连接到我的 SQL 在线数据库(("pairing"速度,而不是查询速度)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49103549/

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