
vs 判断textbox无输入的问题(C#)
有六个TEXTBOX,第六个不输入数据时,总是提示:INSERT语句中列的数目小于VALUES子句中指定的值的数目代码中if(TextBox6.Text.Trim()!=...
有六个TEXTBOX,第六个不输入数据时,总是提示:INSERT 语句中列的数目小于 VALUES 子句中指定的值的数目
代码中 if (TextBox6.Text.Trim()!= "")好像没有起作用,是我的代码有问题吗?求解答
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "" || TextBox4.Text == "" || TextBox5.Text == "")
{
Response.Write("<script>alert('请输入完整!')</script>");
return; //如果没输入完整则返回
}
string sqlStr;
SqlConnection conn = new SqlConnection(connStr);
if (TextBox6.Text.Trim()!= "")
{
sqlStr = "insert [CP]([CPBH],[CPMC],[JG],[KCL])values(@xsbh,@xsmc,@dq,@fzr,@dh,@bz)";
}
else
{
sqlStr = "insert [CP]([CPBH],[CPMC],[JG],[KCL])values(@xsbh,@xsmc,@dq,@fzr,@dh)";
}
SqlCommand cmd = new SqlCommand(sqlStr, conn);
//添加参数
cmd.Parameters.Add("@xsbh", SqlDbType.Char, 6).Value = TextBox1.Text.Trim();
cmd.Parameters.Add("@xsmc", SqlDbType.Char, 30).Value = TextBox2.Text.Trim();
cmd.Parameters.Add("@dq", SqlDbType.Char, 10).Value = TextBox3.Text.Trim();
cmd.Parameters.Add("@fzr", SqlDbType.Char, 8).Value = TextBox4.Text.Trim();
cmd.Parameters.Add("@dh", SqlDbType.Char, 12).Value = TextBox5.Text.Trim();
if (TextBox6.Text.Trim()!= "")
{
cmd.Parameters.Add("@bz", SqlDbType.Char, 200).Value = TextBox6.Text.Trim();
}
conn.Open(); //打开数据库连接
cmd.ExecuteNonQuery(); //执行SQL语句
SqlDataSource1.DataBind();//重新绑定
conn.Close(); //关闭数据库连接
} 展开
代码中 if (TextBox6.Text.Trim()!= "")好像没有起作用,是我的代码有问题吗?求解答
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "" || TextBox4.Text == "" || TextBox5.Text == "")
{
Response.Write("<script>alert('请输入完整!')</script>");
return; //如果没输入完整则返回
}
string sqlStr;
SqlConnection conn = new SqlConnection(connStr);
if (TextBox6.Text.Trim()!= "")
{
sqlStr = "insert [CP]([CPBH],[CPMC],[JG],[KCL])values(@xsbh,@xsmc,@dq,@fzr,@dh,@bz)";
}
else
{
sqlStr = "insert [CP]([CPBH],[CPMC],[JG],[KCL])values(@xsbh,@xsmc,@dq,@fzr,@dh)";
}
SqlCommand cmd = new SqlCommand(sqlStr, conn);
//添加参数
cmd.Parameters.Add("@xsbh", SqlDbType.Char, 6).Value = TextBox1.Text.Trim();
cmd.Parameters.Add("@xsmc", SqlDbType.Char, 30).Value = TextBox2.Text.Trim();
cmd.Parameters.Add("@dq", SqlDbType.Char, 10).Value = TextBox3.Text.Trim();
cmd.Parameters.Add("@fzr", SqlDbType.Char, 8).Value = TextBox4.Text.Trim();
cmd.Parameters.Add("@dh", SqlDbType.Char, 12).Value = TextBox5.Text.Trim();
if (TextBox6.Text.Trim()!= "")
{
cmd.Parameters.Add("@bz", SqlDbType.Char, 200).Value = TextBox6.Text.Trim();
}
conn.Open(); //打开数据库连接
cmd.ExecuteNonQuery(); //执行SQL语句
SqlDataSource1.DataBind();//重新绑定
conn.Close(); //关闭数据库连接
} 展开
2个回答
展开全部
sqlStr = "insert [CP]([CPBH],[CPMC],[JG],[KCL])values(@xsbh,@xsmc,@dq,@fzr,@dh,@bz)";语句不对啊,你要更新[CPBH],[CPMC],[JG],[KCL]四个字段的值,但是你@xsbh,@xsmc,@dq,@fzr,@dh,@bz是6个更新的值,所以会提示INSERT 语句中列的数目小于 VALUES 子句中指定的值的数目
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询