估計誰都可以得分--新手上路請多提攜

xiaothird 2003-09-14 10:25:37
各大蝦:
晚上好!


我見一書中有一句程如下:
table1.insertrecord([2000, 'jeffy', strtodate('99-1-24')])

其中數據表的字段分別是職工編號(i), 姓名(a), 日期(d), 但是在電腦上測試時, 在
strtodate('99-1-24')處不能運行.

請問是什麼問題呢?
多謝指教!!

...全文
25 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaothird 2003-09-14
  • 打赏
  • 举报
回复
多謝大伙 辛苦了

我測試了各方法但不是不行, 照理這種問題不會少見我估計答案是有的.
只是可能還沒發現.
EncodeDate(1999, 1, 24)運行后沒有出現警示但是沒有賦值, 日期欄應是空白

table1.insertrecord([2000, 'jeffy', strtodate('1/24/99')])

table1.insertrecord([2000, 'jeffy', strtodate('1-24-99')])我也
試了但還沒有預期結果.




thomas_cat 2003-09-14
  • 打赏
  • 举报
回复
很明显'99-1-24'这个字串不符合他转换的格式
你试试用MessageBox(0, PChar(DateToStr(Date)), '', MB_OK);
看看他转换出来的是什么?这是个反函数,你按照他的样式来构造你的字符串。
一般的说用EncodeDate(1999, 1, 24);保险一些,基本不会转换出错,你用函数的转换的字串必须和Windows控制面板里定义的相同,可能不同系统会有所不同。
空中居士 2003-09-14
  • 打赏
  • 举报
回复
看看你的库中日期格式,和字符串的格式是否一致
table1.insertrecord([2000, 'jeffy', strtodate('1/24/99')])

table1.insertrecord([2000, 'jeffy', strtodate('1-24-99')])
xiaothird 2003-09-14
  • 打赏
  • 举报
回复
多謝夜半相助

試運后出現一個警示:

Project project1.exe raise exception class ECnovertError with message '99-1-24'
is not a valid date. Process stopped. Use step or Run to continue.

我自已估計是strtodate('99-1-24')出了問題.



lxpbuaa 2003-09-14
  • 打赏
  • 举报
回复
可能计算机的日期不是“YY-MM-DD”格式。 可以考虑改为'1999-01-24'。

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
FrameSniper 2003-09-14
  • 打赏
  • 举报
回复
可能是数据库的日期格式不匹配!
hkbarton 2003-09-14
  • 打赏
  • 举报
回复
不能运行是什么错嘛,说清楚点嘛

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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