C# insert插入语句出错
请高手帮忙看下,谢谢。提示“将截断字符串或二进制数据。语句已终止。”错误。privatevoidbtnAdd_Click(objectsender,EventArgse)...
请高手帮忙看下,谢谢。提示“将截断字符串或二进制数据。
语句已终止。”错误。
private void btnAdd_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("data source=.;initial catalog=school;integrated security=true");
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
string strCommand = "insert into student values ('@xuehao','@name','@age','@sex')";
cmd.CommandText = strCommand;
SqlParameter p4 = new SqlParameter("@xuehao", SqlDbType.VarChar, 10);
cmd.Parameters.Add(p4);
cmd.Parameters["@xuehao"].Value = Convert.ToString(txtXuehao.Text.Trim());
SqlParameter p1 = new SqlParameter("@name", SqlDbType.VarChar, 10);
cmd.Parameters.Add(p1);
cmd.Parameters["@name"].Value = Convert.ToString(txtName.Text.Trim());
SqlParameter p2 = new SqlParameter("@age", SqlDbType.VarChar, 10);
cmd.Parameters.Add(p2);
cmd.Parameters["@age"].Value = Convert.ToString(txtAge.Text.Trim());
SqlParameter p3 = new SqlParameter("@sex", SqlDbType.VarChar, 10);
cmd.Parameters.Add(p3);
cmd.Parameters["@sex"].Value = Convert.ToString(txtSex.Text.Trim());
int i = cmd.ExecuteNonQuery();
if (i == 0)
MessageBox.Show("添加成功!");
else
MessageBox.Show("添加失败");
}
int i = cmd.ExecuteNonQuery(); 错误提示出现在在这里。
数据库中,xuehao,name,sex 长度10,age长度2
数据类型都是nchar,在数据库中
改了,还是不行,这句话有没有问题string strCommand = "insert into student values ('@xuehao','@name','@age','@sex')"; 展开
语句已终止。”错误。
private void btnAdd_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("data source=.;initial catalog=school;integrated security=true");
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
string strCommand = "insert into student values ('@xuehao','@name','@age','@sex')";
cmd.CommandText = strCommand;
SqlParameter p4 = new SqlParameter("@xuehao", SqlDbType.VarChar, 10);
cmd.Parameters.Add(p4);
cmd.Parameters["@xuehao"].Value = Convert.ToString(txtXuehao.Text.Trim());
SqlParameter p1 = new SqlParameter("@name", SqlDbType.VarChar, 10);
cmd.Parameters.Add(p1);
cmd.Parameters["@name"].Value = Convert.ToString(txtName.Text.Trim());
SqlParameter p2 = new SqlParameter("@age", SqlDbType.VarChar, 10);
cmd.Parameters.Add(p2);
cmd.Parameters["@age"].Value = Convert.ToString(txtAge.Text.Trim());
SqlParameter p3 = new SqlParameter("@sex", SqlDbType.VarChar, 10);
cmd.Parameters.Add(p3);
cmd.Parameters["@sex"].Value = Convert.ToString(txtSex.Text.Trim());
int i = cmd.ExecuteNonQuery();
if (i == 0)
MessageBox.Show("添加成功!");
else
MessageBox.Show("添加失败");
}
int i = cmd.ExecuteNonQuery(); 错误提示出现在在这里。
数据库中,xuehao,name,sex 长度10,age长度2
数据类型都是nchar,在数据库中
改了,还是不行,这句话有没有问题string strCommand = "insert into student values ('@xuehao','@name','@age','@sex')"; 展开
2个回答
展开全部
@xuehao
的数据类型是什么?
SqlParameter p4 = new SqlParameter("@xuehao", SqlDbType.VarChar, 10);
的话,要确保@xuehao,是好是字符串类型,而且长度是 10 位以下才行。 其它几项也是如此。
那么确定一下你填入的值的长度都是不操作10位。
txtXuehao.Text.Trim()
txtName.Text.Trim()
txtSex.Text.Trim())
你填的时候不能操作10位
txtAge.Text.Trim())
不能操作2位,
并且把
SqlParameter p3 = new SqlParameter("@sex", SqlDbType.VarChar, 10);
改为
SqlParameter p3 = new SqlParameter("@sex", SqlDbType.VarChar, 2);
的数据类型是什么?
SqlParameter p4 = new SqlParameter("@xuehao", SqlDbType.VarChar, 10);
的话,要确保@xuehao,是好是字符串类型,而且长度是 10 位以下才行。 其它几项也是如此。
那么确定一下你填入的值的长度都是不操作10位。
txtXuehao.Text.Trim()
txtName.Text.Trim()
txtSex.Text.Trim())
你填的时候不能操作10位
txtAge.Text.Trim())
不能操作2位,
并且把
SqlParameter p3 = new SqlParameter("@sex", SqlDbType.VarChar, 10);
改为
SqlParameter p3 = new SqlParameter("@sex", SqlDbType.VarChar, 2);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询