ADO.NET是.NET对DataBase操作的相关类的集合。ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。

ADO.NET在处理数据时,可分为衔接式与断开式

浅析ADO.NET的相关常识(ADO.NET的主要作用是什么)  ADO.NET 第1张

ADO.NET涉及到的首要目标:

衔接目标:Connection

指令目标:Command

数据读取器目标:DataReader

数据适配器目标:DataAdapter

数据集目标: DataSet

下面是一个简略的ADO.NET衔接式拜访数据库的代码

  1. privatestaticvoidReadOrderData(stringconnectionString)
  2. {
  3. stringqueryString=
  4. "SELECTOrderID,CustomerIDFROMdbo.Orders;";
  5. //此处运用using来主动开释connection
  6. using(SqlConnectionconnection=
  7. newSqlConnection(connectionString))
  8. {
  9. SqlCommandcommand=
  10. newSqlCommand(queryString,connection);
  11. connection.Open();
  12. SqlDataReaderreader=command.ExecuteReader();
  13. //SqlDataReader的默许方位在***条记载前面。因而,有必要调用Read来开端拜访任何数据
  14. while(reader.Read())
  15. {
  16. Console.WriteLine(String.Format("{0},{1}",
  17. reader[0],reader[1]));
  18. }
  19. //封闭reader
  20. reader.Close();
  21. //关于SqlConnection的MARS形式封闭的情况下,一次只能翻开一个SqlDataReader,在***个封闭之前,翻开另一个的任何测验都将失利。别的,在reader不封闭之前,相同的command.ExecuteReader();将会失利(不管是否为MARS)
  22. }
  23. }

接下来对上面这段代码做一些阐明:

代码:

  1. Console.WriteLine(String.Format("{0},{1}",
  2. reader[0],reader[1]));

运用了reader的索引器,

索引器调用所的办法如下:

  1. overridepublicobjectthis[inti]{
  2. get{
  3. returnGetValue(i);
  4. }
  5. }
  6. overridepublicobjectthis[stringname]{
  7. get{
  8. returnGetValue(GetOrdinal(name));
  9. }
  10. }

(二)关于command的一些办法的阐明

ExecuteNonQuery 对衔接履行 Transact-SQL 句子并回来受影响的行数。 (重写 DbCommand..::.ExecuteNonQuery()()()。)

ExecuteReader 已重载。 将 CommandText 发送到 Connection 并生成一个 SqlDataReader。

ExecuteScalar 履行查询,并回来查询所回来的成果会集***行的***列。疏忽其他列或行。 (重写

DbCommand..::.ExecuteScalar()()()。)

ExecuteXmlReader 将 CommandText 发送到 Connection 并生成一个 XmlReader 目标。

(三)关于connectionstring

以下是常用的几种connectionstring

  1. //根本
  2. stringbaseconnstr="DataSource=myServerAddress;InitialCatalog=myDataBase;UserId=myUsername;Password=myPassword";
  3. //MARS
  4. stringmarsconnstr="DataSource=myServerAddress;InitialCatalog=myDataBase;UserId=myUsername;Password=myPassword;"
  5. +"MultipleActiveResultSets=true"
  6. //在app_data文件夹中的sqlexpress.mdf
  7. stringmdfDataDir="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf;Database=dbname;Trusted_Connection=Yes;"
  8. //运用SQL集群毛病搬运
  9. stringmirrorconnstr="DataSource=myServerAddress;FailoverPartner=myMirrorServerAddress;InitialCatalog=myDataBase;IntegratedSecurity=True;"
  10. //异步
  11. stringasynconnstr="Server=myServerAddress;Database=myDataBase;IntegratedSecurity=True;AsynchronousProcessing=True;"

MARS中,其实ADO.NET是对未封闭的sqlcommand挂起.所以datareader只能运用其各自的command实例.

【修改引荐】

  1. ADO.NET中的多数据表操作读取
  2. 浅谈ADO.NET中的五个首要目标
  3. 运用LINQ和ADO.NET创立Silverlight程序
  4. ADO.NET数据库衔接、操作SQL举例
  5. ADO.NET中简单混杂的概念
转载请说明出处
知优网 » 浅析ADO.NET的相关常识(ADO.NET的主要作用是什么)

发表评论

您需要后才能发表评论