日期:2011-03-22 13:56:00 来源:本站整理
<b>在managed C++利用中利用ADO.NET</b>[VC/C++编程]
本文“<b>在managed C++利用中利用ADO.NET</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
择要:
文中就用ADO.NET数据对象拜候数据库及从数据库回取数据的基本原理作出示例阐明.
正文:
本文供应了一个由利用向导生成的基于尺度Managed C++利用的实例,它用.NET的ADODataReader类从数据库中取回一个只读(read-only)、只前移(forward-only)的数据流.就是因为在内存中一次仅一行,可用数据读取器(Data Reader)产生利用履行和化简系统套头(overhead).在主源文件增添以下代码能获得对具有数据库支持的.NET Framework类的拜候:
#using
// Add access to .NET Framework classes.
#using
#using
using namespace System;
using namespace System::Data::ADO;
为从数据库中取回数据,先用ADOConnection类生成一个对数据库的衔接,然后设置ConnectionString属性指定数据源,用ADOConnection类的Open()办法连到数据库.
之后用ADOCommand类生成一个command对象以获得数据,履行号令返回一个数据读取器(data reader)类的引用,即ADODataReader类的一个实例.
接着循环调用ADODataReader类的Read()成员一次一行地遍历全部数据行,所获得的数据象一个项目调集(items collection)一样可拜候,我们可用索引值或列名来获得各项.注意:在拜候ADODataReader对象中的数据前,应先调用Read办法.
int main(void)
{
ADOConnection* connection; // ADO connection.
ADOCommand* command; // ADO command
ADODataReader* dataReader; // ADO data reader
try
{
// Create connection, set connection string and open connection to
// specified database.
connection = new ADOConnection();
connection->ConnectionString = S"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\Data\\grocertogo.mdb;Persist Security Info=False";
connection->Open();
// Create command and get data reader by executing this command.
command = new ADOCommand(S"SELECT ProductName, UnitPrice FROM Products", connection);
command->Execute(&dataReader);
// Print table header
Console::WriteLine(S"_____________________________________");
Console::WriteLine(S"Product | Price");
Console::WriteLine(S"_____________________________________");
// Iterate through rows set and print data.
while(dataReader->Read())
Console::WriteLine(S"{0, -30}| {1}", dataReader->get_Item("ProductName"), dataReader->get_Item("UnitPrice"));
// Print table footer.
Console::WriteLine(S"_____________________________________");
// Close DataReader
dataReader->Close();
// Close connection.
connection->Close();
}
catch(Exception* e)
{
// Print error message and close connection.
Console::WriteLine("Error occured: {0}", e->Message);
if (dataReader && !dataReader->IsClosed)
dataReader->Close();
if (connection->State == DBObjectState::Open)
connection->Close();
}
Console::WriteLine("Press ENTER to continue");
Console::ReadLine();
return 0;
}
以上是“<b>在managed C++利用中利用ADO.NET</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论