免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1676 | 回复: 10
打印 上一主题 下一主题

UNIX下的数据库开发问题!!(INSERT 问题) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-08 13:53 |只看该作者 |倒序浏览
我用C写的程序,对SYBASE数据库插入一条记录
EXEC SQL INSERT  INTO tab_custom values(:id,:name);
返回sqlca.code==0
但是程序结束后isql却查不到这条记录!!
是不是有什么问题??

论坛徽章:
0
2 [报告]
发表于 2004-03-08 13:59 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

有没有commit呢

论坛徽章:
0
3 [报告]
发表于 2004-03-08 14:02 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

我也郁闷呢,加了commit也一样!!

论坛徽章:
0
4 [报告]
发表于 2004-03-08 14:21 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

把id和name打印出来,在commit前先自己做一个对id和name的查询,返回是不是100,100的话那我也就不知道了,如果是0 返回,那 你把那段程序发过来,偶帮你看

论坛徽章:
0
5 [报告]
发表于 2004-03-08 14:27 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

EXEC SQL BEGIN TRANSACTION;
        EXEC SQL DECLARE TYPE_CURS CURSOR for SELECT * FROM charge_type;
           EXEC SQL OPEN TYPE_CURS;
           memset(&charge_type,0,sizeof(CHARGE_TYPE));
           EXEC SQL FETCH TYPE_CURS INTO :charge_type;
           strcpy(name,"好好啊";
        EXEC SQL INSERT INTO charge_type(SHOFZL,SHOFMC)values('11',:name);
        EXEC SQL COMMIT TRANSACTION;
        if (sqlca.sqlcode == 0)
        {
                write_log("数据插入成功\n";
        }
        else
        {
                printf("2sqlerror=%s\n",sqlca.sqlerrm.sqlerrmc);
                write_log("执行sql语句[INSERT  ...]出错!\n";
        }
结果日志中记录是数据插入成...郁闷啊.

论坛徽章:
0
6 [报告]
发表于 2004-03-08 14:54 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

找到问题了!!谢了!

论坛徽章:
0
7 [报告]
发表于 2004-03-08 15:48 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

能把经验拿出来共享吗?

论坛徽章:
0
8 [报告]
发表于 2004-03-10 08:22 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

是不是有两句的顺序有调换一下。
EXEC SQL INSERT INTO charge_type(SHOFZL,SHOFMC)values('11',:name);
EXEC SQL COMMIT TRANSACTION;
个人意见,仅供参考(因为俺从没有用过sysbase).

论坛徽章:
0
9 [报告]
发表于 2004-03-10 08:34 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

换了的话怎么用啊,先确定在commit,哈哈,我写了6年的程序还第一次看到

论坛徽章:
0
10 [报告]
发表于 2004-03-10 09:23 |只看该作者

UNIX下的数据库开发问题!!(INSERT 问题)

我的分析如下:
1。很多sql语句返回后没有判断SQLCODE
2。最后判断的是commit的SQLCODE,而不是insert的SQLCODE,insert操作已经失败了
3。失败原因:可能是主码冲突
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP