c#中的MySql连接

本文关键字:连接 MySql 中的 | 更新日期: 2023-09-27 18:13:25

我正在制作一个简单的Windows应用程序表单,在数据库中注册一些人,所以我做了一个连接类:

public void Query_send(string cmd)
    {

        String config = "server=127.0.0.1;uid=root;database=bdcliente;";
        MySqlConnection conn = new MySqlConnection(config);
        MySqlCommand comm = new MySqlCommand(cmd, conn);
        try
        {
            conn = new MySql.Data.MySqlClient.MySqlConnection();
            conn.ConnectionString = config;
            conn.Open();
        }
        catch
        {
            MessageBox.Show("Error when connecting to the database!");
        }
        finally
        {
            conn.Close();
        }
    }

然后在BUTTON中给出MySql的信息,我使用这个:

        private void button1_Click(object sender, EventArgs e)
    {
        Query instance = new Query();
        instance.Query_send("INSERT INTO `tbcliente`(`codCliente`, `name`, `cpf`, `telephone`) VALUES ([" + textBox1 + "],[" + textBox2 + "],[" + textBox3 + "],[" + textBox4 + "])");
    }

当我点击注册按钮时,我总是得到连接错误,可能有人帮助我或给我一个教程的链接,教我正确的方法?谢谢你,伊阿古。

c#中的MySql连接

我的猜测是,您需要将VALUES子句结果包装在单引号中,因为您正在生成的SQL将无效。

VALUES ('" + textbox1 + "')

只有在引用表名或列名时才需要括号。

奇怪的问题,但是你试过给数据库应用密码吗?根据MySQL的版本,我有一些问题,留下root密码未分配(在本地机器上,你可以安全,只是分配'root'作为密码)。另一种选择是创建一个具有权限的用户帐户,并尝试使用这些凭据进行连接。

不确定这是否有帮助,但这是一个消除的过程。

也不确定方法是否在进程中工作,但即使它连接了,也没有对数据库执行命令。

public void Query_send(string cmd)
{

    String config = "server=localhost;uid=root;database=bdcliente;";
    MySqlConnection conn = new MySqlConnection(config);
    MySqlCommand comm = new MySqlCommand(cmd, conn);
    try
    {
        conn.Open();
        comm.ExecuteNonQuery(); '--this was missing
    }
    catch
    {
        MessageBox.Show("Error when connecting to the database!");
    }
    finally
    {
        conn.Close();
    }
}