找回密码
 注册
Simdroid-非首页
查看: 50|回复: 0

[2. C/C++/C#] 我用ADO的Execute执行插入语句插入一条记录后程序就停止运行,不知道为什么??

[复制链接]
发表于 2010-12-24 12:13:12 | 显示全部楼层 |阅读模式 来自 武汉大学
我用ADO的Execute执行插入语句插入一条记录后程序就停止运行,不知道为什么??
代码如下:
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
  no_namespace rename("EOF", "EndOfFile")
#include <stdio.h>
#include <icrsint.h>


extern"C"void datainsert(int a,float p1,float p2,float p3,float p4,float p5,float p6)
{


::CoInitialize(NULL);
  try
  { char sql[41];
_variant_t RecordsAffected;
_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance(_uuidof(Connection));
  _RecordsetPtr m_pRecordset;
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=二维有压渗流数据.mdb;","","",adModeUnknown);
  m_pRecordset.CreateInstance(_uuidof(Recordset));
m_pRecordset->Open("SELECT * FROM 单刚矩阵存储",
  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=二维有压渗流数据.mdb",
  adOpenStatic, adLockUnspecified, adCmdText);
sprintf(sql,"INSERT INTO 单刚矩阵存储(单元号,K11,K12,K13,K22,K23,K33)VALUES(%d,%f,%f,%f,%f,%f,%f)",a,p1,p2,p3,p4,p5,p6);
m_pConnection->Execute(sql,&RecordsAffected,adCmdText);  




  }
  catch (_com_error &e)
  {
  printf("Error:\n");
  printf("Code = %08lx\n", e.Error());
  printf("Meaning = %s\n", e.ErrorMessage());
  printf("Source = %s\n", (LPCSTR) e.Source());
  printf("Description = %s\n", (LPCSTR) e.Description());
  }
  ::CoUninitialize();
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-1 11:47 , Processed in 0.027695 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表