首先创建一个数据库操作基类DB.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.SqlClient; using System.Configuration; using System.Data; using System.Security.Cryptography; /// <summary> ///DB 的摘要说明 /// </summary> public class DB { public static string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; public DB(){} /// <summary> ///创建连接 /// </summary> public SqlConnection GetConnection() { return new SqlConnection(connectionString); } /// <summary> ///执行语句并返回行数 /// </summary public int SqlExecute(string str) { SqlConnection connection = GetConnection(); connection.Open(); SqlCommand cmd = new SqlCommand(str, connection); try { return cmd.ExecuteNonQuery();//执行SQL语句并返回受影响行数 } catch (System.Exception ex) { throw ex; return 0; } finally { connection.Dispose();//释放数据库连接 } } } |
简单说一下执行一个SQL语句的步骤,首先使用SqlConnection对象创建一个连接,使用open方法打开这个连接,之后使用SqlCommand对象对这个连接进行操作,调用其构造函数SqlCommand(str, connection)传入SQL语句及连接对象,执行SqlCommand对象的ExecuteNonQuery()方法即可完成一个SQL语句的执行,并返回受影响行数。
SqlConnection中的连接字符串的语法如下”server=IP地址,端口号;uid=帐号;pwd=密码;database=数据库实例名”
通常我们使用web.config配置文件来保存这个字符串,如下
1 2 3 | <connectionStrings> <add name="ConnectionString" connectionString="server=192.168.0.1,1433;uid=sa;pwd=sa;database=TestDB" /> </connectionStrings> |
并通过
1 | public static string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; |
获取这个连接字符串。
上文中我们已经学会了如何执行一个SQL语句,接下来我们将了解一下如何使用Select语句读取数据库中的内容。
继续在DB.cs中添加两个方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | /// <summary> ///查询数据(可写) /// </summary public DataTable GetSqlData(string str) { SqlConnection connection = GetConnection(); SqlDataAdapter datas = new SqlDataAdapter(str, connection); DataSet ds = new DataSet(); datas.Fill(ds);//从数据源datas中提取数据以填充数据集ds return ds.Tables[0];//返回DataSet对象 } /// <summary> ///查询数据(只读) /// </summary public SqlDataReader ReadSqlData(string str) { SqlConnection connection = GetConnection(); connection.Open(); SqlCommand cmd = new SqlCommand(str, connection); SqlDataReader readData = cmd.ExecuteReader(CommandBehavior.CloseConnection); return readData; } |
这里我们用了两种不同的对象来保存数据库查询结果,DataSet对象和SqlDataReader对象。其关系为使用SqlDataReader从数据库中读取数据填充到DataSet数据集中。
此时一个基本的DB类就已经实现了,具体语句的细节内容这里就不再逐行说明。
接下来本篇将说明一下如何使用这个DB类,即应用方面。
①SELECT
在.NET中获取Select查询结果集的方式有很多,此方法为基础方法之一
1 2 3 4 5 6 7 8 9 10 11 12 | SqlDataReader sql = db.ReadSqlData("select语句"); sql.Read(); if (sql.HasRows) { sql.GetValue(0);//获取第0个字段内容 sql.GetValue(3);//获取第3个字段内容 } else { Response.Write("没找到结果"); } sql.Close(); |
②UPDATA 或 ③INSERT 或 ④DELETE
同样在.NET中更新、插入、删除等操作同样有其他方法,此方法为入门级的基础方法
1 2 3 4 5 6 7 8 9 10 | DB db = new DB(); string _cmd = "sql语句"; try { db.SqlExecute(_cmd); } catch (System.Exception ex) { Response.Write("<script>alert('数据库操作错误,请重新尝试');location='back.aspx'</script>"); } |
掌握以上内容即可实现一些简单的.NET数据库操作了,后续我们将会接触到一些进阶的数据库操作方法,到时另外开篇。
本篇到此,谢谢关注。
BeiTown
2013.09.02