想数据库中执行插入一条记录,看看哪里错了。

YYBYYB1984 2008-02-26 06:37:46
// messagebox(string(sqlca.sqlcode),sqlca.sqlerrtext)
SendTimeName=datetime(today(),now())
SubTimeName=datetime(today(),now())
DestAddrName=sle_2.text
SM_ContentName=dw_result.getitemstring(dw_result.getRow(),'tslrms')
CreatorIDName='kf_'+string(today())+SM_ContentName

transaction trans_sqltest //(先定义trans_sqltest)
trans_sqltest=create transaction
//trans_sqltest.DBMS = "OLE DB"
//trans_sqltest.LogPass = 'Infox1Eies2Sps3Was4!'
//trans_sqltest.LogId = "sa"
//trans_sqltest.AutoCommit = False
//trans_sqltest.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='138.0.0.53'"
// Profile test1
trans_sqltest.DBMS = "ODBC"
trans_sqltest.AutoCommit = true
trans_sqltest.DBParm = "ConnectString='DSN=testdx;UID=sa;PWD=Infox'"

connect using trans_sqltest;
if cbx_1.Checked=true then

INSERT INTO tbl_SMSendTask
( CreatorID,SmSendedNum, OperationType, SendType, OrgAddr,
DestAddr, SM_Content, SendTime, NeedStateReport, ServiceID, FeeType, FeeCode,
SMType, MessageID, DestAddrType, SubTime, TaskStatus, SendLevel, SendState, TryTimes
)
values
(:CreatorIDName,0,'was',1,'106573010206',:DestAddrName,:SM_ContentName,:SendTimeName
,1,'TGD1119901','01','000000',0,'',0,:SubTimeName,0,0,0,3
) using trans_sqltest;

commit;
end if

这段代码执行后数据库中没有变化!
我这里重新定义了一个trans_sqltest,因为默认的数据库是另外一个。
请大家帮分析一下!
...全文
47 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zlf19810306 2008-02-27
如果执行成功还是没有更新的话,检查一下数据库是否出发了相应的trigger
回复
fengjzh1977 2008-02-27
涉及表修改的语句,执行后,一定要判断一下是否执行成功。如果不成功,使用rollback回滚,但也不要把rollback加到messagebox的后面
回复
dangerous123 2008-02-26
if trans_sqltest.sqlcode = 0 then
messagebox( ' ', '成功! ')
commit;
else
messagebox( ' ', trans_sqltest.sqlerrtext)
rollback;
end if
这样改下
回复
dangerous123 2008-02-26
内嵌sql语句的执行情况,最好检查一下返回值,确保语句成功执。。
回复
YYBYYB1984 2008-02-26
楼上的# jlwei888。
测试结果为成功,但依然没有更新到数据库。
怎么搞的?
回复
jlwei888 2008-02-26
connect using trans_sqltest;
if trans_sqltest.sqlcode <>0 then
//没连上
return
end if


if cbx_1.Checked=true then

INSERT INTO tbl_SMSendTask
( CreatorID,SmSendedNum, OperationType, SendType, OrgAddr,
DestAddr, SM_Content, SendTime, NeedStateReport, ServiceID, FeeType, FeeCode,
SMType, MessageID, DestAddrType, SubTime, TaskStatus, SendLevel, SendState, TryTimes
)
values
(:CreatorIDName,0,'was',1,'106573010206',:DestAddrName,:SM_ContentName,:SendTimeName
,1,'TGD1119901','01','000000',0,'',0,:SubTimeName,0,0,0,3
) using trans_sqltest;
if trans_sqltest.sqlcode <>0 then
messagebox('','成功!')
commit;
else
messagebox('', trans_sqltest.sqlerrtext)
rollback;
end if
end if

回复
-狙击手- 2008-02-26
请检测一下trans_sqltest的错误文本
应该是有错误没有提交 
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
PowerBuilder
创建于2007-09-28

868

社区成员

PowerBuilder 相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-02-26 06:37
社区公告
暂无公告