C++中ADO访问数据库方法?

C++中ADO访问数据库方法?,第1张

这个过程有点复杂,详细请参阅孙鑫《VC++深入详解》最后一章,HOOK和数据访问技术,那里讲得更明白!

#include

<iostream>

#include

<string>

using

namespace

std

//导入ADO动态链接库,必须的

#import

"c:\program

files\common

files\system\ado\msado15.dll"no_namespace

rename("EOF","adoEOF")

void

main()

{

_ConnectionPtr

m_pConnection

//创建智能指针,必须的

m_pConnection.CreateInstance(__uuidof(Connection))

//或

m_pConnection.CreateInstance("ADODB.Connection")

CoInitialize(NULL)

//初始化COM,必须的

try

{

//连接字符串,Student为数据库名

m_pConnection->ConnectionString="Provider=SQLOLEDB.1Password=saPersist

Security

Info=TrueUser

ID=saInitial

Catalog=Student"

m_pConnection->Open("

","

","

",adModeUnknown)

//调用Open方法

cout<<"1"<<endl

}

catch(_com_error

e)

//捕获连接异常

{

cout<<"数据库初始化错误!

"<<endl

return

}

cout<<"连接成功!"<<endl

_RecordsetPtr

pRst(__uuidof(Recordset))

pRst=m_pConnection->Execute("select

*

from

student",NULL,adCmdText)//使用Execute方法,student为表名

if(!pRst>adoEOF)

pRst>MoveFirst()

else

{

cout<<"表内数据为空"<<endl

return

}

//

读入库中各字段并加入列表框中

_variant_t

var

string

strName

while(!pRst>adoEOF)

{

var

=

pRst>GetCollect("Name")

if(var.vt

!=

VT_NULL)

strName

=

(LPCSTR)_bstr_t(var)

pRst>MoveNext()

}

//关闭

pRst->Close()

m_pConnection->Close()

pRst.Release()

m_pConnection->Release()

CoUninitialize()

//释放COM

}

一、实训背景

本次实训主要介绍如何使用ADO.NET技术连接SQL数据库,以及如何使用C#编写简单的数据库 *** 作程序。

二、实训目的

本次实训的目的是使学员掌握ADO.NET技术,学会如何使用C#编写简单的数据库 *** 作程序,并能够熟练运用ADO.NET连接SQL数据库,实现数据的增删改查 *** 作。

三、实训内容

1. 了解ADO.NET技术的基本概念,掌握ADO.NET技术的使用方法;

ADO.NET是一种用于访问和 *** 作数据库的技术,它是.NET Framework中的一部分,允许访问和 *** 作各种数据源,如SQL Server、Oracle、ODBC数据源和OLEDB数据源。ADO.NET提供了一系列的类,可以用来连接数据库、执行查询、更新数据库等 *** 作。

ADO.NET使用方法:

(1)首先要创建一个连接对象,用于连接到数据库;

(2)然后创建一个Command对象,用于执行SQL语句;

(3)最后,使用DataReader对象读取数据库中的数据,或者使用DataAdapter对象更新数据库中的数据。

2. 学习如何使用C#编写简单的数据库 *** 作程序;

首先,你需要了解C#的基本语法,以及数据库的基本概念,例如表、字段、主键等。

其次,你需要学习如何使用ADO.NET连接数据库,以及使用SQL语句进行CRUD *** 作(增删改查)。

最后,你可以使用C#语言编写一些简单的数据库 *** 作程序,比如建表、插入数据、查询数据、更新数据、删除数据等。

3. 使用ADO.NET连接SQL数据库,实现数据的增删改查 *** 作;

c#

//1.连接数据库

string connectionString = "Data Source=.Initial Catalog=TestIntegrated Security=True"

SqlConnection conn = new SqlConnection(connectionString)

conn.Open()

//2.增加数据

SqlCommand cmd = new SqlCommand("INSERT INTO Student VALUES('001','张三','男','18')", conn)

cmd.ExecuteNonQuery()

//3.删除数据

SqlCommand cmd = new SqlCommand("DELETE FROM Student WHERE Id='001'", conn)

cmd.ExecuteNonQuery()

//4.修改数据

SqlCommand cmd = new SqlCommand("UPDATE Student SET Age='20' WHERE Id='001'", conn)

cmd.ExecuteNonQuery()

//5.查询数据

SqlCommand cmd = new SqlCommand("SELECT * FROM Student", conn)

SqlDataReader dr = cmd.ExecuteReader()

while (dr.Read())

{

Console.WriteLine("Id:{0}, Name:{1}, Sex:{2}, Age:{3}", dr["Id"], dr["Name"], dr["Sex"], dr["Age"])

}

dr.Close()

//6.关闭数据库连接

conn.Close()

4. 熟练运用ADO.NET技术实现数据库的 *** 作。

四、实训结果

通过本次实训,学员掌握了ADO.NET技术的基本概念,学会了如何使用C#编写简单的数据库 *** 作程序,熟练运用ADO.NET技术实现数据库的 *** 作,并能够熟练运用ADO.NET连接SQL数据库,实现数据的增删改查 *** 作。

1、下载mysql odbc

2、安装后,采用odbc建立一个连接的mysql数据连接,通过udl文件取出其中的字符串。

3、替换在vc中连接ado的数据的字符串方法,即可正常连接。

采用myodbc的字符串如下:

CString strConn = "Provider=MSDASQL.1Password=zcc123Persist Security Info=True/

User ID=rootData Source=test"


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

原文地址:https://54852.com/sjk/6763255.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存