hur.cn - 华软网

 热门搜索

pb6.5中读取数据库中时间出错

  作者:未知    来源:网络    更新时间:2018/4/16
ryrq在数据库中存储的值是2001.01.12 14:30:35,但是在pb6.5的应用程序中显示时出现的是???3????(设计的本意是显示日期,如2001/01/12 ),显示错误后,程序也不报错.我把代码贴出来,请哪位好心的pb高手帮忙看看,非常感激!
string zyh_fy,sfxm,wheresql_cyfy,newsql_cyfy,time
string wheresql_cybr,newsql_cybr,bqh_1,sql_text,ks_1
long br_row,fy_row,tj_row,i,lo
Double je
Date ryrq,cyrq
//ryrq和cyrq的数据格式相同

fun_brfy_init(dw_sfxm,dw_brfy)
zyh_fy = Trim(sle_zyh.Text)
time = Right(Trim(em_year.Text),2)
wheresql_cybr = " WHERE cybr" + time + ".zyh=~'" + zyh_fy + "~'"
newsql_cybr = "DataWindow.Table.Select=~"" + oldsql_cybr &
              + wheresql_cybr + "~""
dw_cybr.Modify(newsql_cybr)
dw_cybr.Retrieve()
br_row = dw_cybr.GetRow()
If br_row < 1 Then
 MessageBox("注意!","无此编号!")
 sle_zyh.SetFocus()
 Return
End If
ks_1 = dw_cybr.object.ks[br_row]
select bqh into :bqh_1 from bqtoks where ksbm = :ks_1;
bqh_1 = right('00'+bqh_1,2)
sql_text = "SELECT zyh,tjm,sfxm,sum(je) FROM cyfy_d"+bqh_1+&
" where zyh='"+zyh_fy+"' GROUP BY zyh,tjm,sfxm"   
lo = dw_cybrfy.setsqlselect(sql_text)
dw_cybrfy.Retrieve()
tj_row = dw_cybrfy.RowCount()
dw_brfy.ReSet()
fy_row = dw_brfy.InsertRow(0)
dw_brfy.SetRow(fy_row)
dw_brfy.SetItem(fy_row,'zyh',zyh_fy)
dw_brfy.SetItem(fy_row,'name',&
  dw_cybr.GetItemString(br_row,'xm'))

ryrq = date(dw_cybr.GetItemDatetime(br_row,'ryrq'))
dw_brfy.SetItem(fy_row,'ryrq',ryrq)
cyrq = date(dw_cybr.GetItemDatetime(br_row,'cyrq'))
dw_brfy.SetItem(fy_row,'cyrq',cyrq)
dw_brfy.SetItem(fy_row,'yjk',&
  dw_cybr.GetItemNumber(br_row,'jkhj'))
dw_brfy.SetItem(fy_row,'ye',&
  dw_cybr.GetItemNumber(br_row,'syyf'))
If IsNull(cyrq) Then
 dw_brfy.SetItem(fy_row,'zyts',&
  (DaysAfter(ryrq,Today())))
Else
 dw_brfy.SetItem(fy_row,'zyts',&
  (DaysAfter(ryrq,cyrq)))
End If
For i=1 To tj_row
 sfxm = Trim(dw_cybrfy.GetItemString(i,'sfxm'))
 je = dw_cybrfy.GetItemNumber(i,'je')
 fun_brfy(dw_brfy,sfxm,je)
Next
cb_print.Enabled = True
cb_exit.SetFocus()
------华软网友回答------
你的是什麽數據庫,估計是客戶端與服務器端日期格式設置不一樣所緻!
我以前用oracle踫到過這個問題!
------华软网友回复------
用的是sql server2000,该如何解决,大侠指点!
------华软网友回复------
代码没错的话应该就是机器日期格式设置的问题了,和数据库也不一定有关系,可能就是机器操作系统中日期格式的事,金额格式等有时也会因设置而导致显示不一致问题
------华软网友回复------
以前客户端用的是win95、win98,或者是winnt4,可惜当时的日期时间格式具体是什么样子的记不得了
------华软网友回复------
服务器端和开发环境中的时间字段不一致造成的。
------华软网友回复------
format格式看看

------华软网友回复------
问题解决了,结帖      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。