[MrYoung教程:易学之道]1ADONET基础及登录模块的实现 1-2
一、上文回顾
在本系列的第一篇[MrYoung教程:易学之道]1ADONET基础及登录模块的实现 1-1中我们首先了解了关系型数据库的概念,然后学习了如何使用企业管理器建立数据库表和添加数据,最后了解了基础的SQL语句:查询,增加,修改,删除的用法,在本节我们将详细讲解如何去实现一个登陆窗体,从而开始入门ADO.NET编程二、System.Data.SqlClient 命名空间
System.Data.SqlClient 命名空间是 SQL Server 的 .NET Framework 数据提供程序。SQL Server 的 .NET Framework 数据提供程序描述了一个类集合,这个类集合用于访问托管空间中的 SQL Server 数据库。使用 SqlDataAdapter 可以填充驻留在内存中的 DataSet,该数据集可用于查询和更新数据库。
主要类如下:
2.1 在操作数据库之前,必须引用System.Data.SqlClient。这个类集合用于访问托管空间中的 SQL Server 数据库。
2.2 SqlConnection类,表示SQL Server 数据库的一个打开的连接。
2.3 SqlCommand类,表示要对SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。
2.4 SqlDataAdapter类,表示用于填充 DataSet和更新 SQL Server 数据库的一组数据命令和一个数据库连接。
2.5 SqlDataReader类,提供一种从 SQL Server 数据库读取行的只进流的方式。
三、SqlConnection
在任何数据库操作之前,均需要建立一个数据库连接,而SqlConnection表示 SQL Server 数据库的一个打开的连接.3.1 连接字符串:packet size=4096;data source=数据地址;persist security info=True;initial catalog=数据库名;user id=用户名;pwd=用户密码,如
view sourceprint?1 string sqlcon = "packet size=4096;data source=127.0.0.1;persist security info=True;initial catalog=Db_Example;user id=sa";
3.2 SqlConnection 构造函数 (String 连接字符串),如果给定包含连接字符串的字符串,则初始化 SqlConnection 类的新实例
view sourceprint?1 string sqlcon = "packet size=4096;data source=127.0.0.1;persist security info=True;initial catalog=Db_Example;user id=sa";
2 SqlConnection myCon = new SqlConnection(sqlcon);
3.3 SqlConnection.Open 方法,打开数据库连接。
3.4 SqlConnection.Close 方法,关闭数据库连接。
3.5 SqlConnection.Dispose 方法,释放资源。
四、SqlCommand
表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。无法继承。4.1 SqlCommand 构造函数 (String 查询文本, SqlConnection 一个到数据库的实例连接)。
view sourceprint?1 SqlCommand sqlcom = new SqlCommand("insert into tb_user values(Mryoung,123456)", sqlcon);
4.2 SqlCommand.ExecuteNonQuery 方法,执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令。
4.3 SqlCommand.ExecuteReader 方法 (CommandBehavior),返回一个SqlDataReader对象。如果创建了 SqlDataReader并将 CommandBehavior设置为 CloseConnection,则关闭 SqlDataReader会自动关闭此连接。
view sourceprint?1 SqlConnection sqlcon = this.getcon();
2 SqlCommand sqlcom = new SqlCommand(str_sql, sqlcon);
3 sqlcon.Open();
4 SqlDataReader sqlread = sqlcom.ExecuteReader(CommandBehavior.CloseConnection);
4.4 SqlCommand.Dispose方法,释放资源。
4.5 SqlCommand.Close方法,关闭连接。
五、SqlDataReader
提供一种从 SQL Server 数据库读取行的只进流的方式。无法继承此类。他使得我们可以得到查询的结果。5.1 由SqlCommand.ExecuteReader 方法创建。
5.2 SqlDataReader.Read 方法,使 SqlDataReader前进到下一条记录,因为SqlDataReader的默认位置在第一条记录前面。因此,必须调用 Read 来开始访问任何数据。如果存在多个行,则为 true;否则为 false。
5.3 SqlDataReader.HasRows 属性,获取一个值,该值指示SqlDataReader是否包含一行或多行。如果 SqlDataReader包含一行或多行,则为 true;否则为 false。
六、C#操作数据库一般流程
七、数据查询流程
八、登陆窗体设计
打开VS2008,新建项目LoginDemo添加一个WINDOWS窗体,名为frm_Login,并拖入如下控件:
九、登陆流程
十、代码编写
10.1 添加一个数据库操作类,名为BaseOperate
10.2 getcon方法,返回数据库连接对象view sourceprint?01 /// <summary>
02 /// 建立数据库连接
03 /// </summary>
04 /// <returns>数据库连接对象</returns>
05 public SqlConnection getcon()
06 {
07 string sqlcon = "packet size=4096;data source=127.0.0.1;persist security info=True;initial catalog=Db_Example;user id=sa";
08 SqlConnection myCon = new SqlConnection(sqlcon);
09 return myCon;
10 }
10.3 getcom方法,执行执行SQLCOMMAND命令
view sourceprint?01 /// <summary>
02 /// 执行SQLCOMMAND命令
03 /// </summary>
04 /// <param name="str_sql">要执行的SQL语句</param>
05 public void getcom(string str_sql)
06 {
07 SqlConnection sqlcon = this.getcon();
08 sqlcon.Open();
09 SqlCommand sqlcom = new SqlCommand(str_sql, sqlcon);
10 sqlcom.ExecuteNonQuery();
11 sqlcom.Dispose();
12 sqlcon.Close();
13 &n
补充:Web开发 , ASP.Net ,