起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: 海浪

【搞定】数据表直接预览,修改数据,保存报错,不解...**

[复制链接]
发表于 2007-4-19 16:46:15 | 显示全部楼层
你给我你的数据集,类似下面的内容
================
object DataSetDDSJJ: TSQLDataSet
  Relation.DeleteRule = krNoAction
  Relation.UpdateRule = krNoAction
  UpdateOptions.DeleteSQL =
    'DELETE FROM DDB'#13#10'WHERE  ( DDBH = :OLD__DDBH ) '#13#10' AND  ( QDRQ = :' +
    'OLD__QDRQ ) '#13#10' AND  ( DHF = :OLD__DHF ) '#13#10' AND  ( XSY = :OLD__XS' +
    'Y ) '#13#10' AND  ( FYDD = :OLD__FYDD ) '#13#10' AND  ( GCMC = :OLD__GCMC ) ' +
    #13#10#13#10
  UpdateOptions.Fields = <
    item
      Name = 'DDBH'
      ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
    end>
  UpdateOptions.InsertSQL =
    'INSERT INTO DDB'#13#10'( DDBH , QDRQ , DHF , XSY , FYDD , GCMC ) '#13#10'VAL' +
    'UES ( DBH , DRQ , HF , :XSY , :FYDD , :GCMC )'#13#10#13#10
  UpdateOptions.UpdateSQL =
    'UPDATE DDB '#13#10'SET  DDBH = DBH  , '#13#10' QDRQ = DRQ  , '#13#10' DHF = ' +
    'HF  , '#13#10' XSY = :XSY  , '#13#10' FYDD = :FYDD  , '#13#10' GCMC = :GCMC  '#13#10'WHE' +
    'RE  ( DDBH = :OLD__DDBH ) '#13#10' AND  ( QDRQ = :OLD__QDRQ ) '#13#10' AND  ' +
    '( DHF = :OLD__DHF ) '#13#10' AND  ( XSY = :OLD__XSY ) '#13#10' AND  ( FYDD =' +
    ' :OLD__FYDD ) '#13#10' AND  ( GCMC = :OLD__GCMC ) '#13#10#13#10
  ID = 'DDSJJ'
  DisplayName = #35746#21333#25968#25454#38598
  Database.Reference = 'Biz:\LZ\SJK1.Database'
  CheckConstraints = <>
  Params = <>
  SQL.Text = 'SELECT *'#13#10'  FROM DDB'
  Left = 146
  Top = 106
end
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-19 16:58:33 | 显示全部楼层
object DataSetdsRWDXX: TSQLDataSet
    Relation.DeleteRule = krNoAction
    Relation.UpdateRule = krNoAction
    UpdateOptions.DeleteSQL =
      'DELETE FROM TM_NORMALTASK'#13#10'WHERE  ( Task_id = :OLD__Task_id ) '#13#10 +
      #13#10
    UpdateOptions.Fields = <
      item
        Name = 'Task_id'
        ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
      end
      item
        Name = 'ExpectStartDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'ExpectEndDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'StartDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'EndDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'RejectDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'CheckDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'ReturnDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'CancelDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'AssignDate'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'Accessory'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'ExpectHours'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'QZ'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'ZP'
        ProviderFlags = [pfInUpdate]
      end
      item
        Name = 'LDPF'
        ProviderFlags = [pfInUpdate]
      end>
    UpdateOptions.InsertSQL =
      'INSERT INTO TM_NORMALTASK'#13#10'( Task_id , TI_id , ReceiveDept , Rec' +
      'eiver , ExpectStartDate , ExpectEndDate , ExpectHours , StartDat' +
      'e , EndDate , Title , Content , Remark , RejectReason , RejectDa' +
      'te , CheckAdvice , CheckDate , ReturnReason , ReturnDate , Cance' +
      'lReason , CancelDate , TS_id , Assigner , AssignDate , TypeID , ' +
      'KindID , Accessory , ClassID , BargainID , ProduceID , SProduceI' +
      'D , ProductID , FinishRemark , SaleID , CQReason , CQFlag , FORM' +
      'ID , QZ , ZP , LDPF , CSR ) '#13#10'VALUES ( :Task_id , :TI_id , :Rece' +
      'iveDept , :Receiver , :ExpectStartDate , :ExpectEndDate , :Expec' +
      'tHours , :StartDate , :EndDate , :Title , :Content , :Remark , :' +
      'RejectReason , :RejectDate , :CheckAdvice , :CheckDate , :Return' +
      'Reason , :ReturnDate , :CancelReason , :CancelDate , :TS_id , :A' +
      'ssigner , :AssignDate , :TypeID , :KindID , :Accessory , :ClassI' +
      'D , :BargainID , roduceID , :SProduceID , roductID , :Finish' +
      'Remark , :SaleID , :CQReason , :CQFlag , :FORMID , Z , :ZP , :' +
      'LDPF , :CSR )'#13#10#13#10
    UpdateOptions.UpdateSQL =
      'UPDATE TM_NORMALTASK '#13#10'SET  Task_id = :Task_id  , '#13#10' TI_id = :TI' +
      '_id  , '#13#10' ReceiveDept = :ReceiveDept  , '#13#10' Receiver = :Receiver ' +
      ' , '#13#10' ExpectStartDate = :ExpectStartDate  , '#13#10' ExpectEndDate = :' +
      'ExpectEndDate  , '#13#10' ExpectHours = :ExpectHours  , '#13#10' StartDate =' +
      ' :StartDate  , '#13#10' EndDate = :EndDate  , '#13#10' Title = :Title  , '#13#10' ' +
      'Content = :Content  , '#13#10' Remark = :Remark  , '#13#10' RejectReason = :' +
      'RejectReason  , '#13#10' RejectDate = :RejectDate  , '#13#10' CheckAdvice = ' +
      ':CheckAdvice  , '#13#10' CheckDate = :CheckDate  , '#13#10' ReturnReason = :' +
      'ReturnReason  , '#13#10' ReturnDate = :ReturnDate  , '#13#10' CancelReason =' +
      ' :CancelReason  , '#13#10' CancelDate = :CancelDate  , '#13#10' TS_id = :TS_' +
      'id  , '#13#10' Assigner = :Assigner  , '#13#10' AssignDate = :AssignDate  , ' +
      #13#10' TypeID = :TypeID  , '#13#10' KindID = :KindID  , '#13#10' Accessory = :Ac' +
      'cessory  , '#13#10' ClassID = :ClassID  , '#13#10' BargainID = :BargainID  ,' +
      ' '#13#10' ProduceID = roduceID  , '#13#10' SProduceID = :SProduceID  , '#13#10' ' +
      'ProductID = roductID  , '#13#10' FinishRemark = :FinishRemark  , '#13#10' ' +
      'SaleID = :SaleID  , '#13#10' CQReason = :CQReason  , '#13#10' CQFlag = :CQFl' +
      'ag  , '#13#10' FORMID = :FORMID  , '#13#10' QZ = Z  , '#13#10' ZP = :ZP  , '#13#10' LD' +
      'PF = DPF  , '#13#10' CSR = :CSR  '#13#10'WHERE  ( Task_id = :OLD__Task_id ' +
      ') '#13#10#13#10
    UpdateOptions.UpdateMode = upWhereKeyOnly
    ID = 'dsRWDXX'
    DisplayName = #20219#21153#21333#20449#24687
    Database.Reference = 'COOPERATIONDB'
    CheckConstraints = <>
    Params = <>
    SQL.Text = 'SELECT *'#13#10'  FROM TM_NORMALTASK where 1<>1'
    Left = 146
    Top = 106
    object UserDataField1: TUserDataField
      ID = 'BargainID'
      DisplayName = #21512#21516#32534#21495
      DataType = dtString
      DataTypeAttribute.Size = 32
      EditStyleID = 'String'
      AutoFillDef.Trigger = [ftOnInsert, ftOnEdit, ftOnDataChange]
      LookupDef.Kind = lkDataValues
      LookupDef.DataBase.Reference = 'COOPERATIONDB'
      LookupDef.SQL.Strings = (
        'SELECT PMS_BARGAINBASIC.BARGAINID, PMS_BARGAINBASIC.BARGAINNAME'
        '  FROM PMS_BARGAINBASIC')
      LookupDef.DisplayField = 'BARGAINNAME'
      LookupDef.KeyField = 'BARGAINID'
      StoredProps = {
        417474726962757465730D0A4175746F46696C6C4465660D0A446973706C6179
        4E616D650D0A456C656D656E740D0A4C6F6F6B75704465660D0A4C6F6F6B7570
        526573756C740D0A}
    end
回复 支持 反对

使用道具 举报

发表于 2007-4-19 17:07:14 | 显示全部楼层
从数据集上看,你应该是正确的,你现在运行引用这个数据集的功能,提示1楼的错误吗?
Record not found or 。。。
还是你在信息上预览数据集提示的错误?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-19 17:07:50 | 显示全部楼层
预览数据集提示的
回复 支持 反对

使用道具 举报

发表于 2007-4-19 17:12:08 | 显示全部楼层
以上的修改只能在运行时候才可以,预览时候还是用的全部字段模式
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-19 17:22:19 | 显示全部楼层
问题是,运行时也报错
回复 支持 反对

使用道具 举报

发表于 2007-4-19 17:25:17 | 显示全部楼层
你在Studio中调试运行也出错?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-19 17:29:11 | 显示全部楼层
对的
回复 支持 反对

使用道具 举报

发表于 2007-4-19 17:44:19 | 显示全部楼层
最初由 海浪 发布
[B]新增记录可以,有些原来的数据也可以,但是有些不行? [/B]


呵呵,终于看到我要的结果了,那就对了,就是因为时间日期格式存储精度的问题。

你这样,把原来的数据重新赋值一下就可以了。
例如 http://bbs.justep.com/forum.php?mod=viewthread&tid=13713  37楼,记住,做这样的动作一定要备份数据库,以防万一
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-20 17:02:26 | 显示全部楼层
问题得到圆满解决,你们劳苦共高,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-6 20:22 , Processed in 0.040721 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表