| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1460 人关注过本帖
标题:在表现层使用DetailView的插入数据的时候,输入字符串的格式不正确。
只看楼主 加入收藏
myjieli
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-9
结帖率:0
收藏
 问题点数:0 回复次数:13 
在表现层使用DetailView的插入数据的时候,输入字符串的格式不正确。
在表现层使用DetailView的插入数据的时候,输入字符串的格式不正确。
我的数据表名称:calMainRecords
数据表结构及其数据类型:
ID char(6) 不容许空
Equipment_Name varchar(50) 容许空
Use_Place_ID int 不容许空
Cal_Date datetime 不容许空
Due_Date datetime 不容许空
Cal_Cycle_ID int 不容许空
Vender varchar(50) 容许空
Brand varchar(50) 容许空
Model varchar(50) 容许空
Serial_NO varchar(50) 容许空
Accuracy varchar(50) 容许空
Class char(1) 不容许空
Project_ID int 不容许空
Process_ID int 不容许空
Status char(1) 不容许空
WI_NO char(12) 不容许空
Drawing_NO char(12) 容许空
Renter_ID int 容许空
Rent_Date datetime 容许空
Sign_ID int 不容许空
Remark varchar(255) 容许空
我的方法: public bool AddcalMainRecords(String equipment_Name, DateTime? cal_Date, DateTime? due_Date, String vender, String brand, String model, String serial_NO, String accuracy, String myclass, String status, String WI_NO, String drawing_NO, String remark, int id)
  {
  // 新建一个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 (vender == null) mycal.SetVenderNull(); else mycal.Vender = vender;
  if (brand == null) mycal.SetBrandNull(); else mycal.Brand = brand;
  if (model == null) mycal.SetModelNull(); else mycal.Model = model;
  if (serial_NO == null) mycal.SetSerial_NONull(); else mycal.Serial_NO = serial_NO;
  if (accuracy == null) mycal.SetAccuracyNull(); else mycal.Accuracy = accuracy;
  if (drawing_NO == null) mycal.SetDrawing_NONull(); else mycal.Drawing_NO = drawing_NO;
  //少了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;
  }
搜索更多相关主题的帖子: DetailView 字符 数据 格式 输入 
2010-12-21 10:37
筱晓绾
Rank: 10Rank: 10Rank: 10
来 自:湖南
等 级:贵宾
威 望:12
帖 子:512
专家分:1736
注 册:2010-9-1
收藏
得分:0 
DateTime? cal_Date这上面的?是怎么回事...
 cal.calMainRecordsDataTable mycals = new cal.calMainRecordsDataTable();这句中的cal是什么对象???
2010-12-21 10:50
myjieli
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-9
收藏
得分:0 
cal是一个DataSet,我这里写的是三层:
DAL里面包含了DataSet,即是这里的cal
BLL里面写入方法,即是上面我写的AddcaMainRecords
表现岑用detailview或Gv显示出数据
上面已经可以正常运行那些显示分页什么的了,只是当我要在表现层插入数据的时候说输入字符串的格式不正确。
估计是我插入的类型和数据库的对不上,所以出现错误。
所以我把数据库也贴出来了,那位帮忙找下

2010-12-21 11:00
筱晓绾
Rank: 10Rank: 10Rank: 10
来 自:湖南
等 级:贵宾
威 望:12
帖 子:512
专家分:1736
注 册:2010-9-1
收藏
得分:0 
既然你都知道了 是数据类型的问题 那应该可以找出来错误吧
2010-12-21 11:17
myjieli
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-9
收藏
得分:0 
问题就是我想知道,我数据库里面有:
Use_Place_ID int 不容许空
Cal_Cycle_ID int 不容许空
Project_ID int 不容许空
Process_ID int 不容许空
上面这些是在数据库里面的,而我方法里面却没有定义这些参数,是不是就是这里的问题,还有就是我方法里面的参数都是用同样的名称只是用小写的,数据库用大写的字母)

2010-12-21 11:22
myjieli
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-9
收藏
得分:0 
帮忙对应下,看哪里错误嘛,我就是找不出了,才来求救

2010-12-21 11:22
筱晓绾
Rank: 10Rank: 10Rank: 10
来 自:湖南
等 级:贵宾
威 望:12
帖 子:512
专家分:1736
注 册:2010-9-1
收藏
得分:0 
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 (vender == null) mycal.SetVenderNull(); else mycal.Vender = vender;
  if (brand == null) mycal.SetBrandNull(); else mycal.Brand = brand;
  if (model == null) mycal.SetModelNull(); else mycal.Model = model;
  if (serial_NO == null) mycal.SetSerial_NONull(); else mycal.Serial_NO = serial_NO;
  if (accuracy == null) mycal.SetAccuracyNull(); else mycal.Accuracy = accuracy;
  if (drawing_NO == null) mycal.SetDrawing_NONull(); else mycal.Drawing_NO = drawing_NO;
  //少了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;
2010-12-21 11:26
筱晓绾
Rank: 10Rank: 10Rank: 10
来 自:湖南
等 级:贵宾
威 望:12
帖 子:512
专家分:1736
注 册:2010-9-1
收藏
得分:0 
其次数据库中定义不许为空的,在传参时也得作为参数传入.在数据库中不区分大小写..
2010-12-21 11:29
myjieli
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-12-9
收藏
得分:0 
老大,这个现在是我完整的方法的代码,可是还是提示一样的错误:
   
[(, 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, int id)
    {
        // 新建一个calMainRecordsRow实例
        cal.calMainRecordsDataTable mycals = new cal.calMainRecordsDataTable();
        cal.calMainRecordsRow mycal = mycals.NewcalMainRecordsRow();
        if (equipment_Name == null) mycal.SetEquipment_NameNull(); else mycal.Equipment_Name = equipment_Name;
        if (vender == null) mycal.SetVenderNull(); else mycal.Vender = vender;
        if (brand == null) mycal.SetBrandNull(); else mycal.Brand = brand;
        if (model == null) mycal.SetModelNull(); else mycal.Model = model;
        if (serial_NO == null) mycal.SetSerial_NONull(); else mycal.Serial_NO = serial_NO;
        if (accuracy == null) mycal.SetAccuracyNull(); else mycal.Accuracy = accuracy;
        if (drawing_NO == null) mycal.SetDrawing_NONull(); else mycal.Drawing_NO = drawing_NO;
        //少了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;
    }

2010-12-21 12:39
筱晓绾
Rank: 10Rank: 10Rank: 10
来 自:湖南
等 级:贵宾
威 望:12
帖 子:512
专家分:1736
注 册:2010-9-1
收藏
得分:0 
刚才不是讲了吗?数据库中不为空的字段,在传值时就不能为空.目前你写的代码段里面并没有将值传过去.你只是判断可以为空的值.那些不为空的应该都加上:如mycal.Use_Place_ID=Use_Place_ID;
mycal.Cal_Cycle_ID=Cal_Cycle_ID;
......
依次类推...
将不为空的值直接赋值...
建议: 当表中数据多个不为空时,传对象不要传字段...

[ 本帖最后由 筱晓绾 于 2010-12-21 12:55 编辑 ]
2010-12-21 12:47
快速回复:在表现层使用DetailView的插入数据的时候,输入字符串的格式不正确。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058077 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved