【发布时间】:2018-05-05 22:06:27
【问题描述】:
我有这段代码用于向 mysql 输入数据,但我发现一个错误提示:
"MySql.Data.MySqlClient.MySqlException: '您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在 ''11/05/2018)' 行附近使用的正确语法1'"
private void Button_Click(object sender, RoutedEventArgs e)
{
string especie = txt1.Text;
string nombre = txt2.Text;
string fechanac = txt3.Text;
string fecharev = txt4.Text;
int numanimales = 0;
int cont = 0;
var dbCon = DBConnection.Instance();
dbCon.DatabaseName = "animalia";
if (dbCon.IsConnect())
{
string query = "SELECT COUNT(*) FROM ANIMALES;";
var cmd = new MySqlCommand(query, dbCon.Connection);
numanimales = Convert.ToInt32(cmd.ExecuteScalar());
}
int id = numanimales + 1;
if (dbCon.IsConnect())
{
if (especie == "" || nombre == "" || fechanac == "" || fecharev == "")
{
MessageBox.Show("Introduzca todos los datos");
}
else
{
cont = 1;
MySqlDataReader reader;
string query = "INSERT INTO ANIMALES VALUES (" + id + ",FALSE,'" + especie + "','" + nombre + "','" + fechanac + "','" + fecharev + "');";
var cmd = new MySqlCommand(query, dbCon.Connection);
reader = cmd.ExecuteReader();
MessageBox.Show("Animal añadido");
reader.Close();
}
if (cont == 1)
{
this.Close();
}
}
}
}
这部分代码出现错误
MySqlDataReader reader;
string query = "INSERT INTO ANIMALES VALUES (" + id + ",FALSE,'" + especie + "','" + nombre + "','" + fechanac + "','" + fecharev + ");";
var cmd = new MySqlCommand(query, dbCon.Connection);
reader = cmd.ExecuteReader();
MessageBox.Show("Animal añadido");
reader.Close();
非常感谢那些可以帮助我的人。
【问题讨论】:
-
在查询后显示一个消息框以检查它
-
不要这样做。使用参数而不是使用字符串 objexts 构建 sql 命令字符串。 google.com/url?q=https://dev.mysql.com/doc/connector-net/en/… ...当然有更好的链接,但它显示了基本方法。