Table 打開時出錯:﹕Translate Error:Value out of bounds. -數據庫:SQL 7(50分)

  • 主题发起人 主题发起人 hingman
  • 开始时间 开始时间
H

hingman

Unregistered / Unconfirmed
GUEST, unregistred user!
本人將原來的Paradox數據轉到MsSQL7,程序中有一個Table打開時
出以下錯誤﹕
Translate Error:Value out of bounds.
請問點解?

注﹕BDE中的LANGDRIVER已設為:'ascii'ANSI。
 
勞駕各位大俠幫幫我! 是不是分數太少了?
 
按字面意思理解说是在数据转换过程中数据溢出的问题。
你可以跟踪一下程序运行的过程,是在哪个部分(或者说是哪个语句)发生错误的,这个好象
不是服务器的问题!
再提供详细一点儿的信息!
 
我用 PowerBuilder 6.5 连接 Access 2000 MDB 好像也出过类似问题,听一听!
 
是不是改过数据库后台的字段类型呀。
 
詳細資料﹕
發現是Table的查尋字段出的問題﹐查雜字段的KeyFields中有一個是日期型的字段﹐
如果沒有這個日期型字段就沒有問題﹐難道是日期型字段的格式問題? 是不是SQL服務
器某些地方需要設定?
 
日期型设置是都是默认的,一般不给定的,而BDE设置‘ascii'ANSI这就有问题了,确实
是Paradox的数据库???如果是的话设置要改成与Paradox相应的类型,里面有的!
怎么会是Paradox转MsSQL,唉!
 
講清楚一下﹕我現在是Delphi+SQL7,
大致代碼如下﹕
Table_B.IndexFieldNames:= 'ORDNO;ORDSEQ;MODEL;DELDATE';
Table_B.SetKey;
Table_B.FieldByName('ORDNO').AsString:= Table_A.FieldByName('ORDNO').AsString;
Table_B.FieldByName('ORDSEQ').AsFloat:= Table_A.FieldByName('ORDSEQ').AsFloat;
Table_B.FieldByName('MODEL').AsString:= Table_A.FieldByName('MODEL').AsString;
Table_B.FieldByName('DELDATE').AsDateTime:= Table_A.FieldByName('DELDATE').AsDateTime; //此句出錯
if Table_B.Gotokey then
begin
Table_A.FieldByName('CAL_ORDQTY').AsFloat:= Table_B.FieldByName('ORDQTY').AsFloat;
Table_A.FieldByName('CAL_OSDQTY').AsFloat:= Table_B.FieldByName('OSDQTY').AsFloat;
end;
 
这样看来,不应该是BDE的问题了,前几句没出错的,那很有可能是数据库中字段类型
设置有问题了,日期型是不用设置的,空值就行了的!
还有可能是你库中的日期型数据中有不统一的格式!
 
程序中日期格式设置不对
 
日期类型不能这样负植.
 
hingman:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
是字段类型不对,我做过类似转换;
你可以修改table在sql中的结构,使其符合sql要求。
 
多人接受答案了。
 
后退
顶部