摘要:
文中就用ADO.NET数据对象访问数据库及从数据库回取数据的基本原理作出示例说明。
正文:
本文提供了一个由应用向导生成的基于标准ManagedC应用的实例,它用.NET的ADODataReader类从数据库中取回一个只读(read-only)、只前移(forward-only)的数据流。就是因为在内存中一次仅一行,可用数据读取器(DataReader)产生应用执行和化简系统套头(overhead)。在主源文件增加如下代码能获取对具有数据库支持的.NETFramework类的访问:
#using
//Addaccessto.NETFrameworkclasses.
#using
#using
usingnamespaceSystem;
usingnamespaceSystem::Data::ADO;
为从数据库中取回数据,先用ADOConnection类生成一个对数据库的连接,然后设置ConnectionString属性指定数据源,用ADOConnection类的Open()方法连到数据库。
之后用ADOCommand类生成一个command对象以获取数据,执行命令返回一个数据读取器(datareader)类的引用,即ADODataReader类的一个实例。
接着循环调用ADODataReader类的Read()成员一次一行地遍历所有数据行,所取得的数据象一个项目集合(itemscollection)一样可访问,我们可用索引值或列名来获取各项。注意:在访问ADODataReader对象中的数据前,应先调用Read方法。
intmain(void)
{
ADOConnection*connection;//ADOconnection.
ADOCommand*command;//ADOcommand
ADODataReader*dataReader;//ADOdatareader
try
{
//Createconnection,setconnectionstringandopenconnectionto
//specifieddatabase.
connection=newADOConnection();
connection->ConnectionString=S"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=..\\Data\\grocertogo.mdb;PersistSecurityInfo=False";
connection->Open();
//Createcommandandgetdatareaderbyexecutingthiscommand.
command=newADOCommand(S"SELECTProductName,UnitPriceFROMProducts",connection);
command->Execute(&dataReader);
//Printtableheader
Console::WriteLine(S"_____________________________________");
Console::WriteLine(S"Product|Price");
Console::WriteLine(S"_____________________________________");
//Iteratethroughrowssetandprintdata.
while(dataReader->Read())
Console::WriteLine(S"{0,-30}|{1}",dataReader->get_Item("ProductName"),dataReader->get_Item("UnitPrice"));
//Printtablefooter.
Console::WriteLine(S"_____________________________________");
//CloseDataReader
dataReader->Close();
//Closeconnection.
connection->Close();
}
catch(Exception*e)
{
//Printerrormessageandcloseconnection.
Console::WriteLine("Erroroccured:{0}",e->Message);
if(dataReader&&!dataReader->IsClosed)
dataReader->Close();
if(connection->State==DBObjectState::Open)
connection->Close();
}
Console::WriteLine("PressENTERtocontinue");
Console::ReadLine();
return0;
}
文中就用ADO.NET数据对象访问数据库及从数据库回取数据的基本原理作出示例说明。
正文:
本文提供了一个由应用向导生成的基于标准ManagedC应用的实例,它用.NET的ADODataReader类从数据库中取回一个只读(read-only)、只前移(forward-only)的数据流。就是因为在内存中一次仅一行,可用数据读取器(DataReader)产生应用执行和化简系统套头(overhead)。在主源文件增加如下代码能获取对具有数据库支持的.NETFramework类的访问:
//Addaccessto.NETFrameworkclasses.
#using
#using
usingnamespaceSystem;
usingnamespaceSystem::Data::ADO;
为从数据库中取回数据,先用ADOConnection类生成一个对数据库的连接,然后设置ConnectionString属性指定数据源,用ADOConnection类的Open()方法连到数据库。
财软.联盟.fs119.net
之后用ADOCommand类生成一个command对象以获取数据,执行命令返回一个数据读取器(datareader)类的引用,即ADODataReader类的一个实例。
接着循环调用ADODataReader类的Read()成员一次一行地遍历所有数据行,所取得的数据象一个项目集合(itemscollection)一样可访问,我们可用索引值或列名来获取各项。注意:在访问ADODataReader对象中的数据前,应先调用Read方法。
{
ADOConnection*connection;//ADOconnection.
ADOCommand*command;//ADOcommand
ADODataReader*dataReader;//ADOdatareader
try
{
//Createconnection,setconnectionstringandopenconnectionto
//specifieddatabase.
connection=newADOConnection();
connection->ConnectionString=S"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=..\\Data\\grocertogo.mdb;PersistSecurityInfo=False";
connection->Open();
财软联.盟.fs119.net
//Createcommandandgetdatareaderbyexecutingthiscommand.
command=newADOCommand(S"SELECTProductName,UnitPriceFROMProducts",connection);
command->Execute(&dataReader);
//Printtableheader
Console::WriteLine(S"_____________________________________");
Console::WriteLine(S"Product|Price");
Console::WriteLine(S"_____________________________________");
//Iteratethroughrowssetandprintdata.
while(dataReader->Read())
Console::WriteLine(S"{0,-30}|{1}",dataReader->get_Item("ProductName"),dataReader->get_Item("UnitPrice"));
//Printtablefooter.
Console::WriteLine(S"_____________________________________");
//CloseDataReader
dataReader->Close();
//Closeconnection.
connection->Close();
}
catch(Exception*e)
{
//Printerrormessageandcloseconnection.
Console::WriteLine("Erroroccured:{0}",e->Message);
if(dataReader&&!dataReader->IsClosed)
dataReader->Close();
if(connection->State==DBObjectState::Open)
财.软联盟.fs119.net
connection->Close();
}
Console::WriteLine("PressENTERtocontinue");
Console::ReadLine();
return0;
}
财管家 园 fs119.net
相关文章
VCGDI编程的字体和文本绘制 用VisualC.NET进行GDI编程 VC.NET实现应用程序XP风格 用VisualC.NET实现XML解析 VC.NET中使用Windows.Forms VC.NET2003代码优化方法 VisualC.NET中的字符串转换方法 在managedC应用中使用ADO.NET VISUALC6.0在MDI主框架窗口中添 VisualC2005中混合代码的初始化 体验VisualC.NET2005中的STL 用VC.NET制作启动屏幕的新方法 VisualStudio2005中C的变化 VC.NET中定义和使用MFCDLL VC.NET的Direct3D极速入门宝典 VC.NET开发环境整合技巧 VisualC.NETDirectShow编程 基于VC.NET的GDI编程之CImage 基于VC.NET的GDI图像处理 利用VisualC实现AVI文件的图像截 VisualC.NETGDI编程基础 VisualC.NET编程讲座之八 VisualC.NET编程讲座之七 VisualC.NET编程讲座之六
Google.cn搜索关键字:
使用 应用 // 数据 数据库 Console::WriteLine connection
Google.cn搜索相关文章:
谷歌中搜索全球网 在managedC应用中使用ADO.NET
百度中搜索 在managedC应用中使用ADO.NET
谷歌中搜索www.fs119.net 在managedC应用中使用ADO.NET
上一篇:VISUALC6.0在MDI主框架窗口中添加位图
Google.cn搜索相关文章:
谷歌中搜索全球网 在managedC应用中使用ADO.NET
百度中搜索 在managedC应用中使用ADO.NET
谷歌中搜索www.fs119.net 在managedC应用中使用ADO.NET
下一篇:VisualC.NET中的字符串转换方法
精品课程推荐
热点专题
最新主题
推荐大折扣培训课程