[英]fatal error encountered during command execution mysql c#
I have a Problem during MySQL in C#. 我在C#中的MySQL期间遇到问题。 I want to search for 4 Keywords in my MySQL Database and when i found an entry my WPF Program display it in a listview but i get always an:
我想在我的MySQL数据库中搜索4个关键字,当我找到一个条目时,我的WPF程序在列表视图中显示它,但我总是得到一个:
fatal error encountered during command execution 命令执行期间遇到致命错误
here my code: 这是我的代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
string strName = name.Text;
string strVorname = vorname.Text;
string strPLZ = plz.Text;
string strOrt = ort.Text;
try
{
MySqlConnection con = new MySqlConnection(@"Server=xx.xxx.xxx.xx;Uid=user;Pwd=pw;Database=db;");
con.Open();
MySqlCommand cmd = new MySqlCommand("SELECT Name, Vorname, Plz, FROM TBCustomer WHERE Name LIKE @strName AND Vorname LIKE @strVorname AND Plz LIKE @strPLZ", con);
cmd.Parameters.AddWithValue( "@Name", String.Format( "%{0}%", strName));
cmd.Parameters.AddWithValue( "@Vorname", String.Format( "%{0}%", strVorname));
cmd.Parameters.AddWithValue("@Plz", String.Format("%{0}%", strPLZ));
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())//Lese alle Datensätze aus
{
var getName = reader.GetString(reader.GetOrdinal("Name")); // 'String aus der Spalte "Name" auslesen
MessageBox.Show(getName);
}
}
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Use this 用这个
MySqlCommand cmd = new MySqlCommand("SELECT Name, Vorname, Plz FROM TBCustomer WHERE Name LIKE @strName AND Vorname LIKE @strVorname AND Plz LIKE @strPlz", con);
cmd.Parameters.AddWithValue( "@strName", String.Format( "%{0}%", strName));
cmd.Parameters.AddWithValue( "@strVorname", String.Format( "%{0}%", strVorname));
cmd.Parameters.AddWithValue("@strPlz", String.Format("%{0}%", strPLZ));
Note : Params not surrounded by '
is correct for them to be treated as params. 注意:未被
'
包围的参数对于将其视为参数是正确的。
Removed a ,
from the query (after Plz)! 去除
,
从查询(后PLZ)! That was nuts. 真是疯了。
Check the parameters names : You can change your snippet like this : 检查参数名称:您可以像这样更改代码段:
MySqlCommand cmd = new MySqlCommand("SELECT Name, Vorname, Plz, FROM TBCustomer WHERE Name LIKE '@Name' AND Vorname LIKE '@Vorname' AND Plz LIKE '@Plz' ", con);
cmd.Parameters.AddWithValue( "@Name", String.Format( "%{0}%", strName));
cmd.Parameters.AddWithValue( "@Vorname", String.Format( "%{0}%", strVorname));
cmd.Parameters.AddWithValue("@Plz", String.Format("%{0}%", strPLZ));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.