SOS!!用VC++开发ODBC程序,出现的难题???

PeterLiu 2000-08-08 10:00:00
问题的症状如下:
1.先创建三个句柄
SQLHSTMT hsltm1;
SQLHSTMT hsltm2;
SQLHSTMT hsltm3;
2.具体操作如下:
SQLExecDirect(hStmt1,(unsigned char *)SqlString1,SQL_NTS);//查询数据库
while(TRUE)//循环处理查询出的记录,查询完退出
{
/*Line1*/ retcode = SQLFetch(hStmt);
//取完记录退出
......//取出数据
/*Line2*/ retcode = SQLExecDirect(hStmt2,(unsigned char *)SqlString2,SQL_NTS);//第一次更新该条记录
.....//对取出的数据的操作
/*Line3*/ retcode = SQLExecDirect(hStmt3,(unsigned char *)SqlString3,SQL_NTS);//第二次更新该条记录
}

3.出现的问题如下(连接的是MS SQL7.0):
/*Line1*/可以成功地取出所有的记录(根据查询的结果)
/*Line2*/和/*Line3*/出现随机性的错误,有时可以正确的更新记录,但大部分时间不能正确更新记录
请教各位如何解决?
...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xubin_sh 2000-08-08
  • 打赏
  • 举报
回复
我猜我的说法是正确的,但是不能肯定
你用游标去改写纪录试试看吧
或者
用SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED使sql server不用锁锁住表/纪录,但是有并发要求时不能这样做
或者
定义FAST_FORWARD类型的游标
以上答案我都不能肯定是正确的
PeterLiu 2000-08-08
  • 打赏
  • 举报
回复
xubin_sh:
SqlString1是
"Select distinct TransDate,CMB_OrderNo,OrderNo,CMB_Amount,Stlm_Status,Order_Status From CMB_Txnlog Where Stlm_Status in ('0','3','7') And TransCount in(select max(TransCount) from CMB_Txnlog group by InsuranceNO)"

SqlString2是:
"Update [CMB_Txnlog] Set Stlm_Status='a'
Where OrderNo='%s' and TransDate='%s'"

SqlString3是 :
Update [CMB_Txnlog] Set Stlm_Status='2', Order_Status='%s'
Where OrderNo='%s' and TransDate='%s'"

Thank you!
xubin_sh 2000-08-08
  • 打赏
  • 举报
回复
我认为是锁的问题,在Select之后就在表/纪录上申请了共享锁,以至于无法在上面申请排他锁用于修改数据,这只不过是我的推测。
能不能写一下你的SqlString1,SqlString2,SqlString3
zzh 2000-08-08
  • 打赏
  • 举报
回复
你把这些操作都写入事务,先开始一次事务,确保上一次操作完成,再进行下一次操作。这样就不会出问题了。
项目:JPEG图片压缩程序(1/5) 作者:zyl910 E-Mail:zyl910@sina.com 说明: 由于JPEG图片压缩的复杂性。就算是是最简单的基线系统(BaseLine), 若想一次实现对算法要求太高,且不易理解,再加上我对它不是特别熟悉。 于是我决定分5个步骤实现: 1.灰度 量化表:标准亮度量化表,共1张 Huffman表:标准DC/AC亮度Huffman表,共2张 2.彩色YUV111 量化表:标准亮度/色度量化表,共2张 Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表) 3.彩色YUV411 量化表:标准亮度/色度量化表,共2张 Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表) 4.使用DRI、RSTx标签 量化表:标准亮度/色度量化表,共2张 Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表) 5.自适应Huffman表 量化表:标准亮度/色度量化表,共2张 Huffman表:标准 亮度/色度 & DC/AC Huffman表,共4张 提示: JPEG压缩分为三个部分: 1.JPEG压缩原理及算法(RGB/YCbCr,DCT/IDCT,量化,Z字型编码,用DPCM对DC/用RLE对AC编码/Huffman编码) 2.JPEG标记格式 3.JPEG图片文件的组织形式(位于SOS后的图像压缩数据是由MCU块怎样排列的,特别是使用了DRI之后) 还有许多细节问题: 1.解码过程中遇到“FF 00”当“FF”处理,否则忽略“FF” 2.进行DCT前YCbCr要减128,进行IDCT前要加128(相当于Y减128,YCbCr不需要加128) 3.每个标记中数据可以不止一个(去掉长度的部分就是一段) 参考文献: 1.何斌《VC++数字图像处理》人民邮电出版社, 2001.4 2.张益贞《VC++实现JPEG/MPEG编解码技术》人民邮电出版社, 2002.11 3.杨淑莹《VC++图像处理程序设计》清华大学出版社/北方交通大学出版社, 2003.11(SOF0中,宽度/高度 写反了)

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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