mfc如何远程连接sql数据库

mfc如何远程连接sql数据库,第1张

1. 配置SQL Server外围应用服务器,开启SQL Server 2005远程连接功能:

“配置工具”->“SQL Server外围应用配置器”->选择“服务和连接的外围应用配置器”->选择Database Engine节点下的 “远程连接”->选择“本地连接和远程连接”->选择“同时使用TCP/IP和named pipes”->点击确定,重新启动

数据库

服务。

2. 把登陆设置改为SQL Server 和 Windows 身份验证模式:

打开SQL Server Management Studio管理器,点击服务器上面右键然后查看属性,在安全性选项里面对服务身份验证选择“SQL Server 和 Windows 身份验证模式”。

3.修改SQL Server sa的密码:

在SQL Server Management Studio管理器中,展开服务器上的“安全性”->登陆名->在sa帐号上点右键属性,这样在“常规”的选择页中更改sa登陆帐号的密码。注意SQL Server2005中,不允许密码设置简单,否则会通不过。然后在选择页的“状态”的登录修改为启用。

4.设置SQL Server 的端口号

在SQL Server Configuration Manager管理器中,展开SQL Server 2005 Network Configuration项目 ->单击下面的 Protocols for 'dbname' ->在右侧的窗口中,右键单击"TCP/IP"项,选择"属性" ->打开"TCP/IP properties"窗口 - >单击"IP Address"选项卡 ->将所有IP地址下面的 "TCP Port" 值设置成1433

5.确保开启SQL Server服务

在SQL Server Configuration Manager管理器中, 选中SQL Server 2005 Services,在右侧的窗口中启动SQL Server ('YourInstance'),

6. 修改连接字符串,在字符串中加入SQl Server 服务的端口号.

strConnection.Format("driver={SQL Server}Server=xx.xx.xx.xx,1433DATABASE=mydatabaseUID=namePWD=pwd")

7.连接coder:

stdafx.h中引用:

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

8. 连接SQL SERVER服务器,并连接数据库

if(!AfxOleInit()) //这就是初始化COM库

{

AfxMessageBox("数据库初始化出错!")

}

_ConnectionPtr pCn("ADODB.Connection")

pCn->Open((_bstr_t)"Driver=

{SQL Server}Server=127.0.0.1,1433Database=carcomUID=saPWD=abc123456","","",adModeUnknown)

使用ADO连接数据库

1、导入存放ADO组件的库文件。在stdafx.h文件中加入下列语句:

#import "c:\program Files\Common Files\system\ado\msado15.dll" no_namespace rename("EOF","EndOfFile") rename("BOF","FirstOfFile")

#include "icrsint.h"

ADO组件存放在msado15.dll文件中,导入该文件时,要重新定义EOF和BOF,以便与VC中ios.h、stdio.h中的EOF和BOF区别开来。

icrsint.h文件中包含了ADO控件的声明。

2、在应用程序类的InitInstance函数中加入:

AfxOleInit()//初始化COM组件环境

3、为视图类增加成员:

_ConnectionPtr m_myConnection//连接对象

_RecordsetPtr m_myRSStudent //记录集

_RecordsetPtr m_myRS1//记录集

4、在修改视图类的OnInitUpdate函数:

HRESULT hr

try{hr = m_myConnection.CreateInstance("ADODB.Connection")//创建连接实例if(SUCCEEDED(hr))hr =

m_myConnection->

Open("Provider=Microsoft.Jet.OLEDB.4.0

Data Source=db1.mdb", "", "",adModeUnknown)

//打开连接,连接到数据库}

catch(_com_error e){

CString errormessage

errormessage.Format("Connection failed\nInformation:%s",e.ErrorMessage())

AfxMessageBox(errormessage)}

m_myRSStudent.CreateInstance("ADODB.Recordset")

m_myRSStudent->Open(“select * from student”, //获取数据的SQL语句m_myConnection.GetInterfacePtr(), //记录集获取数据时使用的连接adOpenDynamic,adLockOptimistic,adCmdText)//动态集、优化锁、SQL命令形式

执行完这段代码后,数据库表student中的数据被提取到m_myRS所管理的内存区域。m_myRS1.CreateInstance("ADODB.Recordset")

m_myRS1->Open("select * from Class",

m_myConnection.GetInterfacePtr(),

adOpenDynamic,

adLockOptimistic,

adCmdText)

_variant_t vName//变体数据类型,可以存放任意类型的数据

while(!m_myRS1->EndOfFile)

{vName = m_myRS1->GetCollect("ClassName")//获取字段内容m_TreeView.InsertItem((_bstr_t)vName)//填充TreeView

m_myRS1->MoveNext()}

m_ListView.SetExtendedStyle(LVS_EX_FULLROWSELECT)

m_ListView.InsertColumn(0,"学号",LVCFMT_CENTER,60)

m_ListView.InsertColumn(1,"姓名",LVCFMT_CENTER,60)

m_ListView.InsertColumn(2,"数学",LVCFMT_CENTER,60)

m_ListView.InsertColumn(3,"英语",LVCFMT_CENTER,60)

m_ListView.InsertColumn(4,"计算机",LVCFMT_CENTER,60)}

您好,您这样:

qlConnectionStringBuilder b = new SqlConnectionStringBuilder()

b.DataSource = @"."//本地数据库

b.IntegratedSecurity = true

b.InitialCatalog = "northwind"//数据库名

String conStr = b.ConnectionString

SqlConnection con = new SqlConnection(conStr)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10039871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存