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 + "])");
}
当我点击注册按钮时,我总是得到连接错误,可能有人帮助我或给我一个教程的链接,教我正确的方法?谢谢你,伊阿古。
我的猜测是,您需要将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();
}
}