字符转换问题,帮忙看下
我用这个语句向数据库中插入数据:在数据库中查出来显示为null。
string sql = "insert into test(number,subject,sources) values(@number,@subject,@sources)";
MySqlCommand cmd = new MySqlCommand(sql,conn);
MySqlParameter prm1 = new MySqlParameter("@number",this.NumbertextBox1.Text);
cmd.Parameters.Add(prm1); ------在数据库中 number字段为int(11)
MySqlParameter parm2 = new MySqlParameter("@subject",this.subjecttextBox2.Text);
cmd.Parameters.Add(parm2);------- subject char(20)
MySqlParameter parm3 = new MySqlParameter("@sources",this.SourcestextBox3.Text);
cmd.Parameters.Add(parm3);------sources int(11)
cmd.Connection.Open();
int array = cmd.ExecuteNonQuery();
if (array > 0)
{
MessageBox.Show("数据插入成功");
}
else
{
MessageBox.Show("数据插入失败");
}
我用convert.toint32(cmd.parameters.add(parm1).value);这个方法转换,插进去的数据显示的还是NULL,有什么方法转换的?
------解决方案--------------------
mysql参数名不用@number这种形式,而是用?number。
也就是说参数名前是?而不是@。所以你参数名写错了。