我点提交按钮以后,就出现了在将 varchar 值 'System.Web.UI.WebControls.TextBox' 转换成数据类型 int 时失败。
这是我的代码,谢谢各位大哥大姐指点一下,是怎么回事啊?
public partial class Company_Company_add : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Convert.ToString(Session["username"]) == "")
        {
            Response.Write("<script language=javascript>alert('请登录');location='../login.aspx'</script>");
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string Cname=this.Cname.Text.ToString();
        string Address=this.Address.Text.ToString();
        string Postalcode=this.Postalcode.Text.ToString();
        string Tel=this.Tel.Text.ToString();
        string Fax=this.Fax.Text.ToString();
        string Linkman=this.Linkman.Text.ToString();
        string Email=this.Email.Text.ToString();       
        string Username = Convert.ToString(Session["username"]);
        string AddTime = Convert.ToString(DateTime.Now);
        SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);
        strcon.Open();
        SqlCommand scd = new SqlCommand("insert into tb_Company_inf (Cname,Address,Postalcode,Tel,Fax,Linkman,Email,Username,AddTime)values('" + Cname + "','" + Address + "','" + Postalcode + "','" + Tel + "','" + Fax + "','" + Linkman + "','" + Email + "','" + Username + "','" + AddTime + "')", strcon);
        scd.ExecuteNonQuery();
        Response.Write("<script language=javascript>alert('您已经添加成功');location='Company_add.aspx'</script>");
        strcon.Close();
    }
}

解决方案 »

  1.   

    当然失败啦
    textbox本来默认就是string类型的值了啦  强转一下就ok了
      

  2.   

    数据类型要统一
    把String类转换成int 要注意几点:
    1,不能为空或NULL
    2,要验证有效的字符 比如S — 之类的无法转换,可以给TextBox加个验证控件。
      

  3.   

       Cname    
        Address
        Postalcode
        Tel
        Fax
        Linkman
        Email    
        Username
        AddTime 这些字段的类型你也说一下..
      

  4.   

    TEXT的默认都是STRING类型,看样子楼主是在插入数据库时出错的,Postalcode是INT型吗??在数据库里转换下就好了!