protected void BtnAdd_Click(object sender,EventArgs e)
{
 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString]  ConnectionString);SqlCommand insertCmd = new SqlCOmmand("insert into Student (stuID,stuPwd,stuName,stuDepart,stuGrade,stuClass) values (@stuID,@stuPwd,@stuName,@stuDepart,@stuGrade,@stuClass)",conn);
 
insertCmd.Parameters.Add("@stuID",SqlDbType.VarChar,50);
insertCmd.Parameters.Add("@stuPwd",SqlDbType.VarChar,50);
insertCmd.Parameters.Add("@stuName",SqlDbType.VarChar,50);
insertCmd.Parameters.Add("@stuDepart",SqlDbType.VarChar,50);
insertCmd.Parameters.Add("@stuGrade",SqlDbType.Int,8);
insertCmd.Parameters.Add("@stuClass",SqlDbType.Int,8);
insertCmd.Parameters["@stuID"].Value = txtID.Text;
insertCmd.Parameters["@stuPwd"].Value = txtID.Text;
insertCmd.Parameters["@stuName"].Value = txtName.Text;
insertCmd.Parameters["@stuDepart"].Value = int.Parse(ddlDepart.SelectedValue);
insertCmd.Parameters["@stuGrade"].Value = int.Parse(ddlGrade.SelectedValue);
insertCmd.Parameters["@stuClass"].Value = int.Parse(ddlClass.SelectedValue);
 
try
{
conn.Open();
int.flag = insertCmd.ExecuteNonQuery
if(flag >0)
lblMessage.Text = "添加成功!";
else
lblMessage.Text = "添加失败!";
}catch(System.Exception ee)
{
  Responde.Write ("<script language=javascript>alert ('" + ee.Message.ToString() + "')</script>");
}
finally
{
conn.Close();
}
为什么老是说  输入字符串的格式不正确呢?请各位指教!

解决方案 »

  1.   

    insertCmd.Parameters["@stuDepart"].Value = int.Parse(ddlDepart.SelectedValue);
    insertCmd.Parameters["@stuGrade"].Value = int.Parse(ddlGrade.SelectedValue);
    insertCmd.Parameters["@stuClass"].Value = int.Parse(ddlClass.SelectedValue);
    =>
    insertCmd.Parameters["@stuDepart"].Value = int.Parse(ddlDepart.SelectedValue.ToString());
    insertCmd.Parameters["@stuGrade"].Value = int.Parse(ddlGrade.SelectedValue.ToString());
    insertCmd.Parameters["@stuClass"].Value = int.Parse(ddlClass.SelectedValue.ToString());
      

  2.   

    @stuDepart是字符类型吗?那下面为什么又转为整型呢?真搞不明白
    insertCmd.Parameters["@stuDepart"].Value = ddlDepart.SelectedValue.ToString();
      

  3.   

    检查ddlDepart.SelectedValue等值
    设置断点,单步跟踪
      

  4.   

    下拉框选择项本来就是字符串,不用tostring,看看是不是 数值的字符串。
      

  5.   

    @stuDepart是字符还是数字类型?
    另外检查每个SelectedValue的值是不是空或是数字,如果是字符是无法转为整型的
      

  6.   


    stuDepart 的值是字符型的,那要怎么改啊?
      

  7.   

    insertCmd.Parameters.AddWithvalue("@stuID",txtID.Text);
    insertCmd.Parameters.AddWithvalue("@stuPwd",txtID.Text);
    这样写多简单啊ddlDepart等的绑定要写在
    if(!Page.IsPostbBack)
    {
    ddlDepart绑定
    }里面
      

  8.   

    insertCmd.Parameters.AddWithvalue("@stuDepart",ddlDepart.SelectedValue);
    insertCmd.Parameters.AddWithvalue("@stuGrade",ddlGrade.SelectedValue);
      

  9.   

    出错误:并不包含AddWithvalue的定义
      

  10.   

    ddlDepart有可能是复合控件,它的SelectedValue有可能不是数字格式的。
      

  11.   

    insertCmd.Parameters["@stuDepart"].Value = int.Parse(ddlDepart.SelectedValue.ToString());
    insertCmd.Parameters["@stuGrade"].Value = int.Parse(ddlGrade.SelectedValue.ToString());
    insertCmd.Parameters["@stuClass"].Value = int.Parse(ddlClass.SelectedValue.ToString());
      

  12.   

    int.tryparse(ddlDepart.SelectedValue,out i);
      

  13.   

    说是没有tryparse的定义,而且怎么又出来一个 i ……
      

  14.   

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString] ConnectionString);
    ["ConnectionString]中少了个引号