这几天的自学,现在总结一下关于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