“/guide”应用程序中的服务器错误。
--------------------------------------------------------------------------------输入字符串的格式不正确。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
行 53:  cmd.Parameters ["@proName"].Value =this.TextBox2 .Text;
行 54:  con.Open ();
行 55:  cmd.ExecuteNonQuery();
行 56:  con.Close ();
行 57:  }
 源文件: c:\inetpub\wwwroot\guide\webform1.aspx.cs    行: 55 堆栈跟踪: 
[FormatException: 输入字符串的格式不正确。]
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
   System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   guide.WebForm1.luru() in c:\inetpub\wwwroot\guide\webform1.aspx.cs:55
   guide.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\guide\webform1.aspx.cs:40
   System.Web.UI.Control.OnLoad(EventArgs e)
   System.Web.UI.Control.LoadRecursive()
   System.Web.UI.Page.ProcessRequestMain() 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573 我的具体到数据库中添加信息的程序是这样写的 SqlConnection con=new SqlConnection ("server=(local);database=city;uid=wo;pwd=110;");
SqlCommand cmd=new SqlCommand ("insert ino  province  (proID,proName) values (@proID,@proName)",con);
cmd.Parameters .Add ("@proID",SqlDbType.Int ,4);
cmd.Parameters .Add ("@proName",SqlDbType.VarChar ,50);
cmd.Parameters ["@proID"].Value =this.TextBox1 .Text ;
cmd.Parameters ["@proName"].Value =this.TextBox2 .Text;
con.Open ();
cmd.ExecuteNonQuery();
con.Close ();
各位大侠,各位高级玩家,请问在我通过 textbox在数据库中添加信息的时候,他怎么就不对了呢 真是郁闷啊啊啊啊    哎!!谁让咱是。net中的初级入门呢  你说它到底拿错了 我就纳闷了

解决方案 »

  1.   

    this.TextBox1 .Text ; 是int吗?cmd.Parameters ["@proID"].Value =2 ;报错不?
      

  2.   

    cmd.Parameters .Add ("@proID",SqlDbType.Int ,4); 
    cmd.Parameters .Add ("@proName",SqlDbType.VarChar ,50); 
    cmd.Parameters ["@proID"].Value =this.TextBox1 .Text ; 
    cmd.Parameters ["@proName"].Value =this.TextBox2 .Text;
    ->.Add之前怎么有空格?要不你就改成:
    cmd.Parameters.AddWithValue("proID", TextBox1.Text);
    cmd.Parameters.AddWithValue("proName", TextBox2.Text);
    试试,
    对了,你的代码里怎么那么多空格?
      

  3.   

    如果我想 在数据库中添加INT型数据的时候 , 你认为我该用什么添加呢?????????
     cmd.Parameters .Add ("@proID",SqlDbType.Int ,4); 
    cmd.Parameters .Add ("@proName",SqlDbType.VarChar ,50); 
    cmd.Parameters ["@proID"].Value =this.TextBox1 .Text ; //此处又该是什么呢 用什么空间好呢 但是我认为不是这个地方的错
    cmd.Parameters ["@proName"].Value =this.TextBox2 .Text;
    空格主要是我在输入  .  之后按的是空格键,而不是回车键, 这个地方倒是无所谓。。   
      

  4.   

    另外  我的数据库中 ID就是个int型的数据类型。   所以说这个地方是相匹配的。  请问到底是什么地方出错了
    刚才我又换了一个数据库,里面的类型全部是varchar型的  我运行之后是成功的  。可是这个地方我想运行int型的数据。
    Tell me  the  reason
      

  5.   

    Thank     you
      

  6.   

    换intcmd.Parameters ["@proID"].Value =int.Parse(this.TextBox1 .Text) ; //此处又该是什么呢 用什么空间好呢 但是我认为不是这个地方的错 
      

  7.   

    空字符串在转换成Int型数据时就会出错了了
      

  8.   

    1、你首先要判断 TextBox1 是否为空,
    如果不为空,就把cmd.Parameters ["@proID"].Value =this.TextBox1 .Text 改为cmd.Parameters ["@proID"].Value =Convert.toIn32(this.TextBox1 .Text); 
      

  9.   

    cmd.Parameters ["@proID"].Value =Conver.ToInt32(this.TextBox1 .Text) ;
      

  10.   

    不是数据类型不匹配,我都试了 好几次, 当我将他改成varchar型的时候我就能运行出来        
    如果是先判断文本是否为空,  我一开始就没有在文本中添加信息,  并且我还编写了程序让信息录入完成之后,文本的内容自动变为空,我觉的那样比较好我就是想实现一个这样的功能。。