vc6.0怎样连接SQL Server 2000数据库

时间:2022-03-08 13:36:13
我主要用的是基本对话框的形式,vc6.0怎样连接SQL Server 2000数据库,也就是怎样调用数据库中的内容,怎样让写数据库内容,修改、保存和查询怎样实现?我需要比较全面的,最好是具体的代码,讲解清楚。如果可用,一定给分。如部分可用,酌情给分。

10 个解决方案

#1


CString strAdoConstr;
CString strAdoCPU;
strSecondUserName="sa";
strAdoConstr.Format("Provider=SQLOLEDB.1;Persist Security Info=True;Data Source=%s;Initial Catalog=%s;User ID=%s;Password=%s",strSecondDatabaseIP,strSecondDatabaseName,strSecondUserName,DecodeDBPassword);
m_pConnection.CreateInstance(_uuidof(Connection));

strAdoCPU.Format("Driver={SQL Server};Server=%s;Uid=%s;Pwd=%s;Database=%s",strFirstDatabaseIP, strFirstUserName, strFirstPassword,strFirstDatabaseName);
m_pConnectionCenterCPU.CreateInstance(_uuidof(Connection));



try
{
m_pConnection->ConnectionTimeout=8;

m_pConnection->Open( (_bstr_t)strAdoConstr, "","",adModeUnknown ) ;  

m_pConnectionCenterCPU->ConnectionTimeout=16;
// m_pConnectionCenterCPU->Open( (_bstr_t)strAdoCPU,"","",adModeUnknown);  Li

// AfxMessageBox("database is ok");

}
catch(_com_error e)///捕捉异常
{
// e.Description()
AfxMessageBox(e.Description());//"数据库连接失败!");
return FALSE;


这是链接部分,要想可用 ,你得先连上才可以知道,其实 用起来还是比较简单的

#2


一、初始化
首先,在stdafx.h文件中加入:
#import "C:\Program files\common files\System\ado\msado15.dll" no_namespace rename("EOF","EndOfFile") 

定义变量
_ConnectionPtr ADOConn;
_RecordsetPtr m_pADOSet;

二、连接
//SQL SERVER数据库连接
::CoInitialize(NULL);

CString strConnect;
strConnect="Provider=sqloledb.1;Data Source=192.168.0.131;Initial Catalog=mynet;UID=sa;Integrated Security=SSPI";
//mynet数据库名字,我使用的是非数据源方式
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open((const char *)strConnect,"","",adModeUnknown);//adConnectUnspecified
}
catch(...)
{
AfxMessageBox("数据库初始化错误,程序将关闭!");
return FALSE;
}

三、初始化ADO记录集
m_pADOSet.CreateInstance(__uuidof(Recordset));
_variant_t strSQL;

strSQL="select * from kk";
if ( m_pADOSet->State == adStateOpen)
m_pADOSet->Close();
try
{
m_pADOSet->CursorLocation=adUseClient;
m_pADOSet->Open("select * from kk", ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error: %s",(char*)e.Description());
}

int iCount;
iCount = m_pADOSet->GetRecordCount();

四、查询数据 
_variant_t Holder; 
int T0;
while(!m_pADOSet->EndOfFile)

Holder = m_pADOSet->GetCollect("id");
//if(Holder.intVal!=VT_NULL)
T0=Holder.intVal;
m_pADOSet->MoveNext();


五、添加数据
m_pADOSet->AddNew();
m_pADOSet->PutCollect("id",_variant_t("23"));
m_pADOSet->PutCollect("username",_variant_t("salkfj"));
m_pADOSet->Update();

六、修改数据
m_pADOSet->EditMode;
m_pADOSet->PutCollect("id",_variant_t("3"));
m_pADOSet->PutCollect("username",_variant_t("saj123456789"));
m_pADOSet->Update();

七、删除数据
m_pADOSet->Delete(adAffectCurrent);//删除当前记录

八、断开数据库
//释放ADO连接对象 
if(adStateOpen == ADOConn->State)
ADOConn->Close();
ADOConn.Release();

// 释放ADO记录集
if(adStateOpen==m_pADOSet->State)
m_pADOSet->Close();
m_pADOSet.Release();

#3


http://msdn2.microsoft.com/en-us/library/ms677563.aspx

#4


//ADO库的三个基本接口_ConnectionPtr,_CommandPtr,_RecordsetPtr   
          _ConnectionPtr   m_pConnection;       
    _CommandPtr   m_pCommand;             
    _RecordsetPtr   m_pRecordset;   
      
  //   初始化COM环境   
  CoInitialize(NULL);                 
    
  m_pConnection.CreateInstance("ADODB.Connection");               
  m_pRecordset.CreateInstance("ADODB.Recordset");   
  m_pCommand.CreateInstance("ADODB.Command");                     
          
  //连接数据库   
  _bstr_t   strConn="Provider=SQLOLEDB;SERVER=;DATABASE=;UID=sa;PWD=sa";   //参数必须是BSTR或_bstr_t类型   
        m_pConnection->Open(strConn,"","",   -1);   

#5


【Ref】
以下是步骤:
> 1.打开"file-new",选择"projects"下的"MFC AppWizard(exe)"再在右边Project name里输入
> 要建立的工程名.按OK按钮.
> 2.选择"Single document"后按"next"按钮.
> 3.注意:选择"Database view with file support"后,"Data Source"按钮会变亮.然后按下
> "Data Source"按钮.
> 4.在Datasource一栏里选择"ODBC",在右边的下拉列表框中应该有你已经定义好的"数据源-控制
> 面板中定义好的".在Recoudset type中选择"Dynaset"然后按"ok"按钮.
> 5.以后的都是"next"
> .....
> 最后一个对话框你按"finish"按钮.就完成了对数据库的连接.

vc知识库的网址:http://www.vckbase.com/ 去看看吧

#6


jixingzhong(瞌睡虫·星辰) 
 我走说过了,我用的是基本对话框的形式,你说的是单文档。

#7


单文档就更简单了,

#8


基本对话框的形式更简单,发错了,不好意思

#9


学习了一下

#10


学习……

#1


CString strAdoConstr;
CString strAdoCPU;
strSecondUserName="sa";
strAdoConstr.Format("Provider=SQLOLEDB.1;Persist Security Info=True;Data Source=%s;Initial Catalog=%s;User ID=%s;Password=%s",strSecondDatabaseIP,strSecondDatabaseName,strSecondUserName,DecodeDBPassword);
m_pConnection.CreateInstance(_uuidof(Connection));

strAdoCPU.Format("Driver={SQL Server};Server=%s;Uid=%s;Pwd=%s;Database=%s",strFirstDatabaseIP, strFirstUserName, strFirstPassword,strFirstDatabaseName);
m_pConnectionCenterCPU.CreateInstance(_uuidof(Connection));



try
{
m_pConnection->ConnectionTimeout=8;

m_pConnection->Open( (_bstr_t)strAdoConstr, "","",adModeUnknown ) ;  

m_pConnectionCenterCPU->ConnectionTimeout=16;
// m_pConnectionCenterCPU->Open( (_bstr_t)strAdoCPU,"","",adModeUnknown);  Li

// AfxMessageBox("database is ok");

}
catch(_com_error e)///捕捉异常
{
// e.Description()
AfxMessageBox(e.Description());//"数据库连接失败!");
return FALSE;


这是链接部分,要想可用 ,你得先连上才可以知道,其实 用起来还是比较简单的

#2


一、初始化
首先,在stdafx.h文件中加入:
#import "C:\Program files\common files\System\ado\msado15.dll" no_namespace rename("EOF","EndOfFile") 

定义变量
_ConnectionPtr ADOConn;
_RecordsetPtr m_pADOSet;

二、连接
//SQL SERVER数据库连接
::CoInitialize(NULL);

CString strConnect;
strConnect="Provider=sqloledb.1;Data Source=192.168.0.131;Initial Catalog=mynet;UID=sa;Integrated Security=SSPI";
//mynet数据库名字,我使用的是非数据源方式
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open((const char *)strConnect,"","",adModeUnknown);//adConnectUnspecified
}
catch(...)
{
AfxMessageBox("数据库初始化错误,程序将关闭!");
return FALSE;
}

三、初始化ADO记录集
m_pADOSet.CreateInstance(__uuidof(Recordset));
_variant_t strSQL;

strSQL="select * from kk";
if ( m_pADOSet->State == adStateOpen)
m_pADOSet->Close();
try
{
m_pADOSet->CursorLocation=adUseClient;
m_pADOSet->Open("select * from kk", ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error: %s",(char*)e.Description());
}

int iCount;
iCount = m_pADOSet->GetRecordCount();

四、查询数据 
_variant_t Holder; 
int T0;
while(!m_pADOSet->EndOfFile)

Holder = m_pADOSet->GetCollect("id");
//if(Holder.intVal!=VT_NULL)
T0=Holder.intVal;
m_pADOSet->MoveNext();


五、添加数据
m_pADOSet->AddNew();
m_pADOSet->PutCollect("id",_variant_t("23"));
m_pADOSet->PutCollect("username",_variant_t("salkfj"));
m_pADOSet->Update();

六、修改数据
m_pADOSet->EditMode;
m_pADOSet->PutCollect("id",_variant_t("3"));
m_pADOSet->PutCollect("username",_variant_t("saj123456789"));
m_pADOSet->Update();

七、删除数据
m_pADOSet->Delete(adAffectCurrent);//删除当前记录

八、断开数据库
//释放ADO连接对象 
if(adStateOpen == ADOConn->State)
ADOConn->Close();
ADOConn.Release();

// 释放ADO记录集
if(adStateOpen==m_pADOSet->State)
m_pADOSet->Close();
m_pADOSet.Release();

#3


http://msdn2.microsoft.com/en-us/library/ms677563.aspx

#4


//ADO库的三个基本接口_ConnectionPtr,_CommandPtr,_RecordsetPtr   
          _ConnectionPtr   m_pConnection;       
    _CommandPtr   m_pCommand;             
    _RecordsetPtr   m_pRecordset;   
      
  //   初始化COM环境   
  CoInitialize(NULL);                 
    
  m_pConnection.CreateInstance("ADODB.Connection");               
  m_pRecordset.CreateInstance("ADODB.Recordset");   
  m_pCommand.CreateInstance("ADODB.Command");                     
          
  //连接数据库   
  _bstr_t   strConn="Provider=SQLOLEDB;SERVER=;DATABASE=;UID=sa;PWD=sa";   //参数必须是BSTR或_bstr_t类型   
        m_pConnection->Open(strConn,"","",   -1);   

#5


【Ref】
以下是步骤:
> 1.打开"file-new",选择"projects"下的"MFC AppWizard(exe)"再在右边Project name里输入
> 要建立的工程名.按OK按钮.
> 2.选择"Single document"后按"next"按钮.
> 3.注意:选择"Database view with file support"后,"Data Source"按钮会变亮.然后按下
> "Data Source"按钮.
> 4.在Datasource一栏里选择"ODBC",在右边的下拉列表框中应该有你已经定义好的"数据源-控制
> 面板中定义好的".在Recoudset type中选择"Dynaset"然后按"ok"按钮.
> 5.以后的都是"next"
> .....
> 最后一个对话框你按"finish"按钮.就完成了对数据库的连接.

vc知识库的网址:http://www.vckbase.com/ 去看看吧

#6


jixingzhong(瞌睡虫·星辰) 
 我走说过了,我用的是基本对话框的形式,你说的是单文档。

#7


单文档就更简单了,

#8


基本对话框的形式更简单,发错了,不好意思

#9


学习了一下

#10


学习……