读书人

求求你们!帮帮小弟我吧!求求你们了!

发布时间: 2011-12-25 23:21:20 作者: rapoo

求求你们!帮帮我吧!求求你们了!数据不能为空啊............
一textbox向数据库传值,数据库该列已经设置为可为空,但是提交页面后程序报错
---------------------错误如下
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.FormatException: 输入字符串的格式不正确。

源错误:


行 73: cmd.Parameters.Add(para);
行 74:
行 75: cmd.ExecuteNonQuery();
行 76:
行 77: con.Close();

[FormatException: 输入字符串的格式不正确。]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +2752691
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +102
System.String.System.IConvertible.ToInt32(IFormatProvider provider) +43
System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +214
System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType) +734

[FormatException: 将参数值从 String 转换到 Int32 失败。]
System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType) +781
System.Data.SqlClient.SqlParameter.GetCoercedValue() +30
System.Data.SqlClient.SqlParameter.Validate(Int32 index) +136
System.Data.SqlClient.SqlCommand.BuildParamList(TdsParser parser, SqlParameterCollection parameters) +133
System.Data.SqlClient.SqlCommand.BuildExecuteSql(CommandBehavior behavior, String commandText, SqlParameterCollection parameters, _SqlRPC& rpc) +256
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1021
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +314
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +413
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +115
Issurance.ButtonAdd_Click(Object sender, EventArgs e) in d:\web\cvRent.aspx.cs:75
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +97
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33


System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4919
-----
求求前辈们救救我吧!求求你们了!!!谢谢!!!!!!!!!

[解决办法]
[FormatException: 将参数值从 String 转换到 Int32 失败。]

para.Value = Convert.ToInt32(TxtMoney.Text);
[解决办法]

[FormatException: 将参数值从 String 转换到 Int32 失败。]

你的参数是Int,你给的值是string

para.Value =Int32.Parse(TxtMoney.Text);

个人见解,共同学习
[解决办法]
if(TxtMoney.Text!= " ")
para.Value = int.Parse(TxtMoney.Text);
else
para.Value =0;
[解决办法]
//这句: para.Value = TxtMoney.Text;

TxtMoney.Text是string类型的,

para.Value要求的类型是int的,
两者类型不同,不能直接转换.要把TxtMoney.Text转成Int类型才行.
[解决办法]
限制文本框必须输入正整数!
然后 para.Value = Convert.ToInt32(TxtMoney.Text);

读书人网 >asp.net

热点推荐