我有个程序 代码如下#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 处理 又发现 没有捕获到任何异常 高手指点啊 这样的话 连接数据库这么不稳定 程序是用不了的啊高手 指点 高手指点
或者 给我提供 其他 更稳定的 连接数据库的方法 前提是 谁有这经验 用过 这东西?????
#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 处理 又发现 没有捕获到任何异常 高手指点啊 这样的话 连接数据库这么不稳定 程序是用不了的啊高手 指点 高手指点
或者 给我提供 其他 更稳定的 连接数据库的方法 前提是 谁有这经验 用过 这东西?????
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货