数据insert问题

haihan 2004-11-12 11:22:25
integer lx_MacNo,lx_ComVal,lx_file,i
integer lx_num,lx_Tllen
string lx_FileName,lx_TmpStr,lx_TmpDateChar,filetext,lx_Filepath
string lx_Sqlment
string lx_CardNo,lx_CurTime
date lx_CurDate
long lx_Rows,lx_CurRow,lx_TmpRow
lx_file=GetFileOpenName("文本文件", lx_Filepath, lx_FileName, "txt", "txt Files (*.txt),*.txt," )
if lx_file=1 then
lx_Num= fileopen(lx_FileName,linemode!,read!,lockwrite!,replace!)
lx_TlLen=FileLength ( lx_FileName )/100
if lx_Num = -1 then
messagebox("注意","系统读文件路径或文件错误! ")
return
else
do while fileread (lx_Num,filetext) <> -100
lx_TmpStr=trim(filetext)
if lx_TmpStr="" then
continue
end if
lx_CardNo=Mid(lx_TmpStr,1,6)
lx_CurTime=Mid(lx_TmpStr,7,5)
lx_TmpDateChar=Mid(lx_TmpStr,12,4)+"/"+Mid(lx_TmpStr,16,2)+"/"+Mid(lx_TmpStr,18,2)
// lx_CurDate=datetime(date(lx_TmpDateChar),time(lx_curtime))
lx_CurDate=date(lx_TmpDateChar)
lx_MacNo=integer(Mid(lx_TmpStr,20,2))
//DELETE FROM h_td where cardno=:lx_cardno and curtime=:lx_curtime and curdate=:lx_curdate ;
insert into h_td
values(:lx_cardno,:lx_curtime,:lx_curdate,:lx_macno);
i = i + 1
loop
end if
FileClose (lx_Num)
else
return
end if
dw_1.settransobject(sqlca)
dw_1.retrieve()
messagebox("系统提示","数据成功下载",information!)
我把insert into h_td values(:lx_cardno,:lx_curtime,:lx_curdate,:lx_macno);改为这样
string lssql
lssql="insert into h_td"+string(today(),'yyyymmm')+"values(:lx_cardno,:lx_curtime,:lx_curdate,:lx_macno)"
EXECUTE IMMEDIATE :lssql;
为什么insert不了呢?请各位帮帮我,谢谢

...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2004-12-02
  • 打赏
  • 举报
回复
string lssql
lssql="insert into h_td"+string(today(),'yyyymmm')+"values(:lx_cardno,:lx_curtime,:lx_curdate,:lx_macno)"

1. values前应加一个空格
2.变量不能那样写在字符串内,系统会把(:lx_cardno,:lx_curtime,:lx_curdate,:lx_macno)当成一个字符串,肯定不对,如果是字符串变量,这么写
string lssql
lssql="insert into h_td" + string(today(),'yyyymmm') + " values('" + string(lx_cardno) + "'" + string(lx_curtime) + "'" + string(lx_curdate) + "'" + string(lx_macno) + "'"

即可
aichangfeng 2004-11-12
  • 打赏
  • 举报
回复
messagebox一下lssql,看一下是不是你的sql语法有问题
li_d_s 2004-11-12
  • 打赏
  • 举报
回复
yyyymmm?应该是yyyymm吧?多了一个m
haihan 2004-11-12
  • 打赏
  • 举报
回复
string lssql
lssql="insert into h_td"+string(today(),'yyyymmm')+"values(:lx_cardno,:lx_curtime,:lx_curdate,:lx_macno)"
数据库内有一个h_td200411的表
smail_man 2004-11-12
  • 打赏
  • 举报
回复
insert into h_td(cardno,curtime,curdate,macno)
values(:lx_cardno,:lx_curtime,:lx_curdate,:lx_macno);
li_d_s 2004-11-12
  • 打赏
  • 举报
回复
怎么在表名后加上了日期?恐怕表都不存在吧?
  • 打赏
  • 举报
回复
insert into h_td (把对应字段写全看)
values(:lx_cardno,:lx_curtime,:lx_curdate,:lx_macno);

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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