在程序里如何用insert语句向数据库表中插入一条记录????

Aerosoft 2003-01-27 09:48:31
我有一段程序,很简单,就是想用Insert语句向数据库表中插入一条记录,可是运行完这段程序并没有向数据库表中插入记录,程序如下:
string ls_mainscon_no,ls_mainscon_name
string ls_vnd_no,ls_dep_no,ls_empl_no
long ll_mainscon_id

ll_mainscon_id = idw_main.getitemNumber(idw_main.getrow(),"zb_mainscon_id")
ls_mainscon_no = idw_main.getitemstring(idw_main.getrow(),"zb_mainscon_no")
ls_mainscon_name = idw_main.getitemstring(idw_main.getrow(),"zb_mainscon_name")
ls_vnd_no = idw_main.getitemstring(idw_main.getrow(),"cus_no")
ls_dep_no = idw_main.getitemstring(idw_main.getrow(),"dep_no")
ls_empl_no = idw_main.getitemstring(idw_main.getrow(),"empl_no")

INSERT INTO zb_mainfac_contract
( zb_mainmcon_id,
empl_no,
dep_no,
vnd_no,
trns_id,
zb_mainscon_id,
zb_mainmcon_no,
zb_mainmcon_date )
VALUES ( 10220,
:ls_empl_no,
:ls_dep_no,
:ls_vnd_no,
'003',
:ll_mainscon_id,
:ls_mainscon_name,
'today()') ;
我怀疑是Insert语句有误,我就直接用SQL Server Query Analyzer,用一些具体数试:
INSERT INTO zb_mainfac_contract
( zb_mainmcon_id,
empl_no,
dep_no,
vnd_no,
trns_id,
zb_mainscon_id,
zb_mainmcon_no,
zb_mainmcon_date )
VALUES ( 10220,
'KXD',
'K',
'北京',
'003',
'10416',
'ffff',
'today()')

SQL Server Query Analyzer有以下信息:
Server: Msg 241, Level 16, State 1, Line 1
Syntax error converting datetime from character string.

(其中在表zb_mainfac_contract中zb_mainmcon_id是主键, empl_no, dep_no, trns_id,是外键)

我不知道是我的语法有误,还是我的程序不对,请各位高手指教!!!!
...全文
777 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
anqinyun 2003-01-30
  • 打赏
  • 举报
回复
主要是看insert值是否符合表的要求

错误显示你的日期型zb_mainmcon_date有问题
programmerwei 2003-01-29
  • 打赏
  • 举报
回复
再SQL server2000 中得到服务器日期时间应用:select GatDate() 如果用pb脚本的话:
DateTime lt_todaytime
lt_todaytime = datetime(today(),now())
INSERT INTO zb_mainfac_contract
( zb_mainmcon_id,
empl_no,
dep_no,
vnd_no,
trns_id,
zb_mainscon_id,
zb_mainmcon_no,
zb_mainmcon_date )
VALUES ( 10220,
:ls_empl_no,
:ls_dep_no,
:ls_vnd_no,
'003',
:ll_mainscon_id,
:ls_mainscon_name,
:lt_todaytime) ;
commit work;
最后别忘了提交。


prain2003 2003-01-29
  • 打赏
  • 举报
回复
'today()'改为getdate()
qianfl 2003-01-28
  • 打赏
  • 举报
回复
ldtoday声明为datetime类型
szpqq 2003-01-27
  • 打赏
  • 举报
回复
或者是否建关键字了,这样才能往数据库中插入值
superneo 2003-01-27
  • 打赏
  • 举报
回复
插入记录前,要判断此记录是否已在数据里存在,或者关键字有没有重复!

Aerosoft 2003-01-27
  • 打赏
  • 举报
回复
我试过了,还是不行根本就没网数据库里插入记录
lbx1979 2003-01-27
  • 打赏
  • 举报
回复
date ldtoday
ldtoday=today()
INSERT INTO zb_mainfac_contract
( zb_mainmcon_id,
empl_no,
dep_no,
vnd_no,
trns_id,
zb_mainscon_id,
zb_mainmcon_no,
zb_mainmcon_date )
VALUES ( 10220,
'KXD',
'K',
'北京',
'003',
'10416',
'ffff',
:ldtoday);
xbhu 2003-01-27
  • 打赏
  • 举报
回复
Syntax error converting datetime from character string.
看message是 'today()')有問題.
你可用 today())一試.
如有問題,
去掉 insert zb_mainmcon_date 一試.

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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