输入字符串的格式不正确。

myjieli 2010-12-15 09:16:40
在BLL层写了以下“方法”,但是在页面层输入数据单击插入按钮的时候提示:
输入字符串的格式不正确。!



[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)]
public bool AddcalMainRecords(string equipment_Name,int Use_Place_ID,DateTime Cal_Date,DateTime Due_Date,int Cal_Cycle_ID,string Vender,string Brand,string Model,string Serial_NO,string Accuracy,string Class,int Project_ID,int Process_ID,string Status,string WI_NO,string Drawing_NO,int Renter_ID,DateTime Rent_Date,int Sign_ID,string Remark)
{
// 新建一个calMainRecordsRow实例
cal.calMainRecordsDataTable mycals=new cal.calMainRecordsDataTable();
cal.calMainRecordsRow mycal=mycals.NewcalMainRecordsRow();
mycal.Equipment_Name = equipment_Name;
if (equipment_Name == null) mycal.SetEquipment_NameNull(); else mycal.Equipment_Name = equipment_Name;
if (Accuracy == null) mycal.SetAccuracyNull(); else mycal.Accuracy = Accuracy;
if (Brand == null) mycal.SetBrandNull(); else mycal.Brand = Brand;
if (Drawing_NO == null) mycal.SetDrawing_NONull(); else mycal.Drawing_NO = Drawing_NO;
if (Model == null) mycal.SetModelNull(); else mycal.Equipment_Name = equipment_Name;
if (Serial_NO == null) mycal.SetSerial_NONull(); else mycal.Serial_NO = Serial_NO;
if (Vender == null) mycal.SetVenderNull(); else mycal.Vender = Vender;
//少了Renter_ID和Rent_Date
if (Remark == null) mycal.SetRemarkNull(); else mycal.Remark = Remark;
mycals.AddcalMainRecordsRow(mycal);
int rowsAffected = Adapter.Update(mycals);
// 如果刚好新增了一条记录,则返回true,否则返回false
return rowsAffected == 1;
}
...全文
213 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-12-15
  • 打赏
  • 举报
回复
单步,判断哪个为空或类型不正确
string.isnulloremoty
int.tryparse
极地_雪狼 2010-12-15
  • 打赏
  • 举报
回复
if (Accuracy == null)
这种应该写成
if (string.IsNullOrEmpty(Accuracy ))
小鹏 2010-12-15
  • 打赏
  • 举报
回复
是不是没有过滤为空
笨熊熊 2010-12-15
  • 打赏
  • 举报
回复
你輸入地東西格式不正確
看看是不是什麽地方格式輸入錯誤了。或者傳遞參數地時候順序搞錯了。
myjieli 2010-12-15
  • 打赏
  • 举报
回复
哈哈,把老大都引来了,好的,谢谢各位了,我先自己试着调试先。
chen_ya_ping 2010-12-15
  • 打赏
  • 举报
回复
我想你还是自己调试一下吧,是不是你传的参数中有些问题。这个还真的只能自己慢慢的调试
孟子E章 2010-12-15
  • 打赏
  • 举报
回复
格式不正确,就是出现了类似这样的问题:如数字转换的时候你提供的字符串不是数字;日期类型输入的不是一个可以接受的日期格式等

这样的问题就需要打印出你的参数才能看到问题。

哪行出错的,你就需要断点哪行调试下
TimZhuFaith 2010-12-15
  • 打赏
  • 举报
回复
calMainRecordsRow 里面有哪些数字类型
gdk123 2010-12-15
  • 打赏
  • 举报
回复
检查一下参数类型是不是跟数据库一样呢?
myjieli 2010-12-15
  • 打赏
  • 举报
回复
“/WebSite2”应用程序中的服务器错误。
--------------------------------------------------------------------------------

输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

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

源错误:

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[FormatException: 输入字符串的格式不正确。]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +9594411
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +119
System.String.System.IConvertible.ToInt32(IFormatProvider provider) +46
System.Convert.ChangeType(Object value, TypeCode typeCode, IFormatProvider provider) +297
System.Web.UI.WebControls.Parameter.GetValue(Object value, String defaultValue, TypeCode type, Boolean convertEmptyStringToNull, Boolean ignoreNullableTypeChanges) +126
System.Web.UI.WebControls.Parameter.GetValue(Object value, Boolean ignoreNullableTypeChanges) +63
System.Web.UI.WebControls.ObjectDataSourceView.MergeDictionaries(ParameterCollection reference, IDictionary source, IDictionary destination, String parameterNameFormatString) +405
System.Web.UI.WebControls.ObjectDataSourceView.ExecuteInsert(IDictionary values) +758
System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +89
System.Web.UI.WebControls.DetailsView.HandleInsert(String commandArg, Boolean causesValidation) +379
System.Web.UI.WebControls.DetailsView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +574
System.Web.UI.WebControls.DetailsView.OnBubbleEvent(Object source, EventArgs e) +95
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.DetailsViewRow.OnBubbleEvent(Object source, EventArgs e) +112
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +125
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +169
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +9
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +176
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.1
myjieli 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q107770540 的回复:]
mycal.Equipment_Name = equipment_Name;
if (equipment_Name == null) mycal.SetEquipment_NameNull(); else mycal.Equipment_Name = equipment_Name;
============
这句写的有问题
修改成这样:

if (equipment_Nam……
[/Quote]

说的有用,是多写了一句,可是去掉了那一句还是一样错误哈,不知道是不是顺序写错了?
zthsn 2010-12-15
  • 打赏
  • 举报
回复
断点调试一下啊 看到底是哪一步骤出了问题 然后再解决
fendouaj 2010-12-15
  • 打赏
  • 举报
回复
你看看你的接收参数的顺序是不是搞错了。没有对应上啊!
q107770540 2010-12-15
  • 打赏
  • 举报
回复
mycal.Equipment_Name = equipment_Name;
if (equipment_Name == null) mycal.SetEquipment_NameNull(); else mycal.Equipment_Name = equipment_Name;
============
这句写的有问题
修改成这样:

if (equipment_Name == null) mycal.SetEquipment_NameNull(); else mycal.Equipment_Name = equipment_Name;

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧