我有个程序 代码如下#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")
#include <iostream> 
#include <iomanip> //for setw() 
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <winsock.h>
#include "SysData.h"
#include "SqlTools.h"#include "AppTools.h"
#include "SysTools.h"int SQLinsert(int chan,SysData * sysData,char * sqly) 

::CoInitialize(NULL); // 初始化OLE/COM库环境 ,为访问ADO接口做准备
_RecordsetPtr m_pRecordset("ADODB.Recordset");
_ConnectionPtr m_pConnection("ADODB.Connection");

char * query_cmd = "";
query_cmd=sqly;
_bstr_t bstrSQL(sqly);
// 创建Connection对象 
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必须是BSTR型或者_bstr_t类型
_bstr_t strConnect=  sysData->sqlConnect;
//若数据库在网络上则Server为形如(192.168.1.5,3340)
//用户sa和密码123只是针对我的库 
m_pConnection->Open(strConnect,"","",adModeUnknown);
if(m_pConnection==NULL)
printf("Lind data ERROR!\n");
// 创建记录集对象
m_pConnection->Execute(query_cmd,NULL,1);

//m_pRecordset->Close(); // 关闭记录集 
if(m_pConnection->State) 
m_pConnection->Close(); 
::CoUninitialize(); return 0; }
在网上搜索到的  方法  里面 我做下修改就是 这个方法能做 数据库的 修改和 插入的 方法     此方法是 调用了 ADO   具体怎么实现 小弟我实在说不明白  因为 我不是 C的程序员  
现在 问题 如下  
平时 启用  没有问题  连接数据库 和 修改数据都能成功 (小量)当 长时间启用 (大概在 4小时左右 出现问题)问题 提示 没有任何错误   但出错了的类似   微软 出现的  错误报告 不是 我C程序的错误 
我在C程序中做跟中  发现 在  return 0 这个位置   上一句 能执行  但到  return 0 这句 就执行不下去 了  做了  try catch 处理 又发现 没有捕获到任何异常 高手指点啊  这样的话  连接数据库这么不稳定   程序是用不了的啊高手 指点 高手指点 
或者 给我提供 其他 更稳定的 连接数据库的方法     前提是  谁有这经验 用过 这东西?????