C#将截断字符串或二进制数据,语句已终止
private void Form2_Load(object sender, EventArgs e)
{
label1.Text = clakk.claname.SendNameValue.ToString();
con.Open();//打开数据库连接
string sql = "select * from xsxb where stid= '"+clakk.claname.SendNameValue.ToString()+"'";
SqlDataReader pdr = G_SqlExecute.GetReader(sql);
pdr.Read();
if (pdr.HasRows)
{
string bstid = pdr["stid"].ToString();
string bxm = pdr["xm"].ToString();
string bxb = pdr["xb"].ToString();
string bbj = pdr["bj"].ToString();
string bsex = pdr["sex"].ToString();
using (SqlCommand command = new SqlCommand("INSERT INTO stute VALUES (@stid,@xm,@xb,@bj,@sex,@sj)", con))
{
command.Parameters.Add("@stid",//添加参数并赋值
SqlDbType.VarChar, 20, "stid").Value = bstid;
command.Parameters.Add("@xm",//添加参数并赋值
SqlDbType.VarChar, 50, "xm").Value = bxm;
command.Parameters.Add("@xb",//添加参数并赋值
SqlDbType.VarChar, 30, "xb").Value = bxb;
command.Parameters.Add("@bj",//添加参数并赋值
SqlDbType.VarChar, 30, "bj").Value = bbj;
command.Parameters.Add("@sex",//添加参数并赋值
SqlDbType.VarChar, 10, "sex").Value = bsex;
command.Parameters.Add("@sj",//添加参数并赋值
SqlDbType.VarChar, 50, "sj").Value = DateTime.Now.ToString();
command.ExecuteNonQuery();//执行SQL语句
MessageBox.Show("添加数据成功");//弹出消
出错信息;将截断字符串或二进制数据,语句已终止,
不知道问题在哪。
@stid,@xm,@xb,@bj,@sex,@sj
看看数据库这几个字段中有些字段的长度不够。