ADO.NET数据库访问技术(转)

这几天的自学,现在总结一下关于C#中连接数据库的一些知识点:

1.使用Connection连接数据库的步骤:

(1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记)

(2)定义连接字符串。连接SQL Server 数据库时:

        server=服务器名;database=数据库名;uid=用户名;pwd=密码;例如:要连接本机上的StudentManagement数据库,用户名为sa,密码为111

string connString="server=.;database=StudentManagement;uid=sa;pwd=111;"

(3).创建Connection对象:

            SqlConnection connection=new SqlConnection(connSting);

(4).打开数据库:

            connection.Open();

(5).对数据库操作完毕后关闭数据库连接

            connection.Close();

2.Command对象:

(1).command对象可以用来对数据库发出具体的操作指令,例如对数据库的查询、增加、修改、删除

(2).创建Command对象,并设置它的属性:

          SqlCommand command =new SqlCommand();

          command.Connection=connection;

          command.CommandText=sqlQuery(sqlQuery为查询语句);

(3).Command对象的主要方法:

ExecuteNonQuery:执行后不返回任何行,对于update、insert、delete语句,返回影响的行数对于其他类型的语句,返回值为-1

ExecuteReader:执行查询语句,返回DataReader对象

ExecuteScalar:执行查询,并返回查询结果的第一行第一列,忽略其他列或行

ExecuteXmlreader:将CommandText发送到Connection并生成一个XmlReader

3.DataReader对象:

(1).DataReader对象可以从数据库中一只读、只进的方式查询数据,每次的操作只有一个记录保存在内存中

(2).DataReader对象的主要方法:

Read:读取下一条数据

Close:关闭DataReader对象

(3).使用DataReader提取数据的步骤:

     (a).建立与数据库的连接并打开

     (b).创建一个Command对象

     (c).从Command对象中创建DataReader对象

     (d).使用DataReader读取并显示

                 可以使用一个循环利用Read方法便利数据库中行的信息,如果要获取该行中某列的值,只需要使用"["和"]"运算符就可以了

     (e).分别关闭DataReader对象和数据库的连接

实例:

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Xml.Linq;
 6 using System.Windows.Forms;
 7 using System.Data.SqlClient;
 8 using System.Data;
 9 
10 namespace xmlTest
11 {
12     class Program
13     {
14         static void Main(string[] args)
15         {
16             try
17             {
18                 //定义连接字符串
19                 string connString = "server=.;database=gpweb;uid=sa;pwd=123456";
20                 //定义查询语句
21                 string cmdStr = "select * from WebUser where UserName='lcyuhe';";
22 
23                 //保存查询结果
24                 DataSet ds = new DataSet();
25 
26                 //创建Connection对象
27                 SqlConnection connection = new SqlConnection(connString);
28                 //打开数据库
29                 connection.Open();
30 
31                 //command对象可以用来对数据库发出具体的操作指令,例如对数据库的查询、增加、修改、删除
32                 SqlCommand command = new SqlCommand();
33                 command.Connection = connection;
34                 command.CommandText = cmdStr;
35                 //int affects = command.ExecuteNonQuery();
36 
37                 SqlDataAdapter adapter = new SqlDataAdapter(command);
38                 adapter.Fill(ds);
39 
40                 DataTableCollection dtc = ds.Tables;
41                 //遍历查询结果
42                 foreach (DataTable dt in dtc)
43                 {
44                     Console.WriteLine("表:" + dt.TableName);
45                     foreach (DataRow drow in dt.Rows)
46                     {
47 
48                         //遍历列
49                         //foreach (var item in drow.ItemArray)
50                         //{
51                         //    Console.WriteLine(item);
52                         //}
53 
54                         // 获取或设置存储在由名称指定的列中的数据
55                         Console.WriteLine("username:" + drow["username"]);
56                     }
57                 }
58 
59 
60                 //Console.WriteLine("受影响的行数:{0}", affects);
61 
62                 //对数据库操作完毕后关闭数据库连接
63                 connection.Close();
64 
65 
66             }
67             catch (Exception ex)
68             {
69                 Console.WriteLine(ex.Message);
70                 throw;
71             }
72             Console.WriteLine("====================================================");
73             Console.ReadKey();
74         }
75     }
76 }

 

 

转自:http://www.360doc.com/content/13/0606/09/10504424_290840282.shtml

posted @ 2015-09-17 14:55  #天行健#  阅读(186)  评论(0编辑  收藏  举报