惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
B
Blog RSS Feed
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
MongoDB | Blog
MongoDB | Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
D
Docker
Jina AI
Jina AI
IT之家
IT之家
人人都是产品经理
人人都是产品经理
L
LangChain Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
博客园 - 叶小钗
The GitHub Blog
The GitHub Blog
The Cloudflare Blog
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog

博客园 - Aimd

EPS图片转换 & 共享一个Excel宏,用于画Latex表格 Latex从零到开始使用 Eclipse下配置及使用Tomcat 6.0数据库连接池连接sqlserver2000 强制删除文件夹 SWT应用程序打包成jar过程 解决firefox频繁询问代理服务器用户名和密码问题 SQL server 2005 远程连接问题及解决 家乡回长春路上拍的照片 blog的三种人 右键打不开磁盘又出新花样 用jni实现java使用dll 允许SWT Table的Tableitem多行显示 今天遇到一个geotools(GIS)和Eclipse合作的巨恶问题 实现模型间的多线连接 慎用EMF Ecore文件的名字 数据压缩方法 BIRT插件的使用 RCP的布局得两个细节 RCP导出注意事项
SQL server 2005 不能重新安装解决及ADO连接事例代码
Aimd · 2007-08-23 · via 博客园 - Aimd

一:卸载之后重新安装,系统检测会通不过,提示"性能监视器计数器"错误,而不能重新安装。解决方法:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]

"Last Counter"=dword:00000ed4 (5277)

"Last Help"=dword:00000ed5 (5278)

“Last Counter”值必须与以下注册表项中“Perflib\004”的“Counter”项的最大值(最后一项的值)匹配,并且上一步的“Last Help”值必须与以下注册表项中“Perflib\004”的“Help”项的最大值匹配。

也就是说,把Last Counter 和counter,Last Help和help改成一样大的就可以了。

二:使用ado连接数据库。

1:确保能用工具连接上数据库的前提下继续看2。

2:事例代码,其中前几个函数是自定义的,关键代码在connection->open附近。

#include"stdio.h"  

#import   

"C:\Program Files\Common Files\System\ado\msado15.dll"   no_namespace   rename("EOF","rsEOF")  
   
#define RsITEM(rs,x) rs->Fields->Item[_variant_t(x)]->Value
#define UC (char *)int ReadIntCol(_RecordsetPtr   pRst,char * colName)
{
    
char* buff=new char[256];
    sprintf(buff,
"%s",UC _bstr_t(RsITEM(pRst,colName)));
    
int result= atoi(buff);
    delete buff;
    
return result;
}
double ReadFloatCol(_RecordsetPtr   pRst,char * colName)
{
    
char* buff=new char[256];
    sprintf(buff,
"%s",UC _bstr_t(RsITEM(pRst,colName)));
    
double result= atof(buff);
    delete buff;
    
return result;
}
void ReadStringCol(_RecordsetPtr   pRst,char * colName, char * result)
{
    sprintf(result,
"%s",UC _bstr_t(RsITEM(pRst,colName)));
}
int main()
 {  
     
double a[3][3];
     
for(int i=0;i<3;i++)
         
for(int j=0;j<3;j++)
             a[i][j]
=0;
     CoInitialize(NULL);  
     _ConnectionPtr   pConn(__uuidof(Connection));  
     _RecordsetPtr   pRst(__uuidof(Recordset));  
     pConn
->ConnectionString = L"Driver={SQL Server};Server={10.60.56.229,1433};"
         L
"Trusted_Connection=no;"
         L
"Database=test;Uid=wkp;Pwd=wkp;";
     pConn
->Open("","","",-1);  
     HRESULT   hTRes;  
     hTRes   
= pRst.CreateInstance("ADODB.Recordset");      
     
if   (SUCCEEDED(hTRes))  
     {  
         
//repeat begin
         pRst->Open("select   *   from   distance",(_variant_t)((IDispatch   *)pConn), adOpenDynamic,adLockPessimistic,adCmdText);  
         
while(!pRst->rsEOF)  
         {   
             
int begin=ReadIntCol(pRst,"begin");
             
int end=ReadIntCol(pRst,"end");
             
double value=ReadFloatCol(pRst,"value");
             a[begin][end]
=value;
             
/*char * pUsername=new char[256];             
             ReadStringCol(pRst,"username",pUsername);
*/
             
/*printf("id= %d username= %s  password= %s \n", id,pUsername,pPassword);
             delete pUsername;
             delete pPassword;
*/
             pRst
->MoveNext();
         }  
         pRst
->Close(); 
         
//repeat end
     }//below to insert value to db
    /* int nnnn=17;
     char res[512];
     sprintf(res,"insert into lidan values(%d)",nnnn);
     pConn->Execute(res, NULL, adCmdText);
*/

     pConn

->Close();  
     pRst.Release();  
     pConn.Release();  
     CoUninitialize();  
return 0;
 }