将C#连接到MYSQL数据库?

时间:2014-04-03 20:25:07

标签: c# mysql

所以我一直试图将C#窗口连接到MYSQL数据库,我尝试了许多不同的方法,我在网上找到但似乎没有工作。这是我的代码请帮助(请记住这是我第一次使用数据库之前)。

这是连接类

class DbConnect
{
    public static void DBConnect()
    {
        string connstr = 
        "server=localhost;user=root;database=login;port=3306;password=Password";

        MySqlConnection conn = new MySqlConnection(connstr);

        try
        {
            conn.Open();
        }
        catch
        {
            Console.WriteLine("went rong");
        }
    }

}

这是使用

的窗体
private void btnenter_Click(object sender, EventArgs e)
 {
      DbConnect.DBConnect();
      MySqlCommand query = new MySqlCommand("INSERT INTO logininfo (username, 
      password) VALUES(@username, @password");
        try
        {
            query.Parameters.AddWithValue("@username", txtusername.Text);
            query.ExecuteNonQuery();
            MessageBox.Show("S");
        }

        catch (Exception )
        {
            MessageBox.Show("something went wrong");
        }
        finally
        {
            DbConnect.DBClose();
        }

    }

2 个答案:

答案 0 :(得分:2)

使用Uid在MySQL连接字符串中传递用户。所以你的连接字符串应该是:

"server=localhost;Uid=root;database=login;port=3306;password=tro63jans";

您可能会看到:MySQL connection string.

您还应该在某个对象中捕获异常,以便获取有关异常的详细信息。目前,您没有在例外中显示任何有用的消息。

catch (Exception ex) //at least
{
    MessageBox.Show("something went wrong: " + ex.ToString());
}

答案 1 :(得分:1)

您遇到的一个问题是,您没有将MysqlCommand的Connection属性设置为您之前制作的MySqlConnection。

  1. 更改DBConnect()以返回MySqlConnection。
  2. 将MySqlCommand的Connection属性设置为返回值。
  3. 伪代码

    MySqlConnection conn = DBConnect.DBConnect();
     MySqlCommand command = new MySqlCommand(commandStr, conn);
    command.ExecuteNonQuery();
    conn.Close();