protected void mysql_Click(object sender, EventArgs e)
{
MySqlConnection conn = new MySqlConnection(ConfigurationManager.AppSettings["DBConnectionString"]);
MySqlCommand mc = new MySqlCommand("insert into test(userName,userAge) values( '@userName','@userAge')", conn);
mc.Parameters.Add("@userName", MySqlDbType.VarChar, 255); //为Command对象添加参数
mc.Parameters.Add("@userAge", MySqlDbType.Int32, 11);
mc.Parameters["@userName"].Value = Username.Text; //给参数赋值
mc.Parameters["@userAge"].Value = Age.Text;
try
{
conn.Open(); //打开连接
int flag = mc.ExecuteNonQuery(); //执行插入
if (flag > 0)
{
Response.Write("<script language=javascript>alert('成功完成注册!')</script>");
}
else
{
Response.Write("<script language=javascript>alert('注册失败!请检查输入是否符合要求')</script>");
}
}
catch (System.Exception ee)
{
Response.Write("error");
Response.Write("<script language=javascript>alert('" + ee.Message.ToString() + "')</script>");
}
finally
{
conn.Close(); //关闭连接
}
}
错误是catch到的。红色部分直接用字符串代替是没问题的。可以正常插入。但从页面提交插入就不行了。
4 个解决方案
#1
values('@userName','@userAge') 是符号的问题了
values('“+@userName+”','“+@userAge+
”')
values('“+@userName+”','“+@userAge+
”')
#2
好像不行哦。 加了会提示找不到@userName 的
#3
http://topic.csdn.net/u/20090619/21/8a2f8eff-0502-487c-8122-d4989304b02b.html
#4
values('@userName','@userAge') 不用单引就可以吧。
#1
values('@userName','@userAge') 是符号的问题了
values('“+@userName+”','“+@userAge+
”')
values('“+@userName+”','“+@userAge+
”')
#2
好像不行哦。 加了会提示找不到@userName 的
#3
http://topic.csdn.net/u/20090619/21/8a2f8eff-0502-487c-8122-d4989304b02b.html
#4
values('@userName','@userAge') 不用单引就可以吧。