在将 varchar 值 'System.Web.UI.WebControls.TextBox' 转换成数据类型 int 时失败。
我点提交按钮以后,就出现了在将 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();
}
}
------解决方案--------------------当然失败啦
textbox本来默认就是string类型的值了啦 强转一下就ok了
------解决方案--------------------数据类型要统一
把String类转换成int 要注意几点:
1,不能为空或NULL
2,要验证有效的字符 比如S — 之类的无法转换,可以给TextBox加个验证控件。
------解决方案--------------------错误在那一行..
------解决方案-------------------- Cname
Address
Postalcode
Tel
Fax
Linkman
Email
Username
AddTime
这些字段的类型你也说一下..
------解决方案--------------------TEXT的默认都是STRING类型,看样子楼主是在插入数据库时出错的,Postalcode是INT型吗??在数据库里转换下就好了!
------解决方案--------------------顶2楼
------解决方案--------------------有点难。。。嘿嘿。。我实力不行