【发布时间】:2015-07-25 23:24:37
【问题描述】:
protected DataTable RetrieveAlumni2()
{
{
MySqlConnection con = new MySqlConnection("server=100.0.0.0;user id=id;password=pass;database=db;persistsecurityinfo=True");
MySqlCommand cmd = new MySqlCommand("get_alumni_by_city", con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
try
{
string city = textBox1.Text;
con.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@city", SqlDbType.VarChar).Value = city;
da.SelectCommand = cmd;
cmd.ExecuteNonQuery();
da.Fill(dt);
dataGridView1.DataSource = dt;
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
cmd.Dispose();
con.Close();
}
return dt;
}
}
给出错误:
“输入的字符串格式不正确”
City 是 mysql 服务器中的 varchar。任何帮助将不胜感激。
【问题讨论】:
-
您在哪一行收到此错误?
city的值是多少?get_alumni_by_citysp 的定义是什么?调试您的代码并告诉我们。 -
表/存储过程中 varchar 字段的长度是多少?
-
在 cmd.ExecuteNonQuery();
-
city的值为任意varchar(45),get_alumni_by_city为MySql中的存储过程。
-
确保您没有传递无效字符,例如 uni 代码字符
标签: c# mysql parameters datagrid procedure