用 ODBC 写数据库,第一次成功,以后都失败,是何原因?在线等待,解决即结贴!

时间:2022-12-13 04:35:29
我的程序用 ODBC 操作数据库,没有使用记录集,即直接对数据库操作,大概要写入300个参数,用Update语句,第一次很顺利成功,但是如果写第二次的话就失败,请高手帮忙。

还有一点要申明:写数据库之前,会用Open()打开(指针没有删除),写完以后立马用Close()关闭。

原来以为是时间滞后的问题,结果等了几分钟之后再写,也是一样。

12 个解决方案

#1


没碰到这种问题,把你的代码贴出来看看

#2


是什么没有关闭把

#3


把调试的结果贴出来

#4


问题就是调试的时候没有问题,呵呵,我也觉得奇怪

代码真的没有什么特殊的地方,就是用ODBC直接对表(查询)进行操作,没有使用Recordset

多谢各位关注!请继续帮忙,呵呵

#5


那失败原因呢?总该有个提示什么的吧?

#6


本来保存数据要一分钟左右的,第一次正常的时候是这么长时间,第二次就一闪就过去了,出现一个错误提示窗口:

标题:Microsoft Visual C++ Runtime Libaroy
内容:program: …….exe(就是我的运行程序)
      abnormal program termination
按钮:确定

不知从哪儿下手

#7


两次执行的代码是相同的吗?

#8


一模一样,我的所有写数据库的程序在一个函数中,只在一个地方调用

多谢!

#9


看样子你是个VC高手,这样没有代码调试程序你觉得有可能吗?
我看就是讨论到下个月也不见得有用。

#10


to: jnxulei(石头),呵呵,你就别讽刺我了,这个问题两个月以前就出现了,一直在想,一直在考虑(当然还有其他事情),总找不到错误,现在要交差了,不能等了,呵呵,今天贴出来找各位高手帮忙。

#11


把写数据库的代码贴出来啊。。。。不然怎么分析。。

#12


实在不好意思,经过各位的提醒,从另外的角度上考虑了一下,问题终于解决!这困扰了我两个月的问题!!

具体原因如下:

我对ODBC数据库操作不熟悉(习惯用DAO和ADO),这段ODBC代码是我一个师弟编的,问题出来后,我们不约而同认为是数据库的问题,就像我上面提问的一样。
看了上面各位说的,看来是都没有遇到过这种情况,所以我想有可能不是数据库的问题,于是再查,结果发现了一个非常低级的错误,由于一个参数设置错误,第二次写数据的时候写数据的线程一产生便被强行中断,而因为这个参数时由时钟来改变的,所以调试的时候不会出问题。这一点很特殊,各位XDJM也要注意,:)

谢谢大家的提醒,这个问题不问出来,我估计也一下子解决不了,谢谢大家的帮助!

结贴!

#1


没碰到这种问题,把你的代码贴出来看看

#2


是什么没有关闭把

#3


把调试的结果贴出来

#4


问题就是调试的时候没有问题,呵呵,我也觉得奇怪

代码真的没有什么特殊的地方,就是用ODBC直接对表(查询)进行操作,没有使用Recordset

多谢各位关注!请继续帮忙,呵呵

#5


那失败原因呢?总该有个提示什么的吧?

#6


本来保存数据要一分钟左右的,第一次正常的时候是这么长时间,第二次就一闪就过去了,出现一个错误提示窗口:

标题:Microsoft Visual C++ Runtime Libaroy
内容:program: …….exe(就是我的运行程序)
      abnormal program termination
按钮:确定

不知从哪儿下手

#7


两次执行的代码是相同的吗?

#8


一模一样,我的所有写数据库的程序在一个函数中,只在一个地方调用

多谢!

#9


看样子你是个VC高手,这样没有代码调试程序你觉得有可能吗?
我看就是讨论到下个月也不见得有用。

#10


to: jnxulei(石头),呵呵,你就别讽刺我了,这个问题两个月以前就出现了,一直在想,一直在考虑(当然还有其他事情),总找不到错误,现在要交差了,不能等了,呵呵,今天贴出来找各位高手帮忙。

#11


把写数据库的代码贴出来啊。。。。不然怎么分析。。

#12


实在不好意思,经过各位的提醒,从另外的角度上考虑了一下,问题终于解决!这困扰了我两个月的问题!!

具体原因如下:

我对ODBC数据库操作不熟悉(习惯用DAO和ADO),这段ODBC代码是我一个师弟编的,问题出来后,我们不约而同认为是数据库的问题,就像我上面提问的一样。
看了上面各位说的,看来是都没有遇到过这种情况,所以我想有可能不是数据库的问题,于是再查,结果发现了一个非常低级的错误,由于一个参数设置错误,第二次写数据的时候写数据的线程一产生便被强行中断,而因为这个参数时由时钟来改变的,所以调试的时候不会出问题。这一点很特殊,各位XDJM也要注意,:)

谢谢大家的提醒,这个问题不问出来,我估计也一下子解决不了,谢谢大家的帮助!

结贴!