MySQL数据库到C#连接超时

MySQL数据库到C#连接超时,c#,mysql,timeout,C#,Mysql,Timeout,stackoverflow社区!我再次来到这里寻求你的帮助 我的问题是:我制作了一个c#应用程序,用于在Byethost(SecureSignup)托管的MySQL数据库中注册帐户。连接可以工作,但不是一直工作,即使条件没有改变。 一分钟后,我可以提交查询,PhpMyAdmin将其显示为写入数据库,但几分钟后,当我尝试完全相同的操作时,我会遇到各种超时错误,包括“无法从传输连接读取数据:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应。”to“超时IO

stackoverflow社区!我再次来到这里寻求你的帮助

我的问题是:我制作了一个c#应用程序,用于在Byethost(SecureSignup)托管的MySQL数据库中注册帐户。连接可以工作,但不是一直工作,即使条件没有改变。 一分钟后,我可以提交查询,PhpMyAdmin将其显示为写入数据库,但几分钟后,当我尝试完全相同的操作时,我会遇到各种超时错误,包括“无法从传输连接读取数据:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应。”to“超时IO操作”"... 这是我的代码,也许拥有它可以帮助你理解为什么它有时会有如此奇怪的行为,因为我确实不能

(我已从cpanel授予我的IP远程MySQL访问权限,登录数据100%正确)


您应该使用
参数
来防止

还可以使用该语句正确处理
MySQL
对象

private void button1_Click(object sender, EventArgs e)
{
    connString = "Server=sql.byethost46.org;Port=3306;Database=bleachon_aza;UID=bleachon;password=********";
    using (conn = new MySqlConnection(connString))
    {
        string query = "INSERT INTO users (Username, password) VALUES (@usr, @pass)";
        // are you sure your column name is Username and not username ?
        conn.Open();
        using (MySqlCommand cmd = new MySqlCommand(conn, query))
        {
            cmd.Parameters.AddWithValue("@usr", usr.Text);
            cmd.Parameters.AddWithValue("@pass", pass.Text); 
            cmd.ExecuteNonQuery();
            // No need to close your connection. The using statement will do that for you.
        }
    }
}
至于连接问题,我想你应该联系你的主机寻求答案。我一直使用
MySql
使用
C#
,没有任何问题,所以我认为这是你的主机问题

private void button1_Click(object sender, EventArgs e)
{
    connString = "Server=sql.byethost46.org;Port=3306;Database=bleachon_aza;UID=bleachon;password=********";
    using (conn = new MySqlConnection(connString))
    {
        string query = "INSERT INTO users (Username, password) VALUES (@usr, @pass)";
        // are you sure your column name is Username and not username ?
        conn.Open();
        using (MySqlCommand cmd = new MySqlCommand(conn, query))
        {
            cmd.Parameters.AddWithValue("@usr", usr.Text);
            cmd.Parameters.AddWithValue("@pass", pass.Text); 
            cmd.ExecuteNonQuery();
            // No need to close your connection. The using statement will do that for you.
        }
    }
}