SQL Server菜鸟的数据库实战-4-数据看器SqlDataReader

  老铁们大家好什么,我是菜鸟思奎,今天自己读书的凡数据库和前端的连接用到之字符串,如果生什么纰漏希望大家在评论区指正。阿里嘎差不多。

  我的环境是Visual Studio 2008 + Microsoft SQL Server 2008
R2,通过C#的窗体应用来调节和出示相关的界面及多少。


   我此练习的凡数额看器SqlDataReader的以。首先,我们需要预备一个数据库来练习。我一直用了下面的SQL语句生成一个概括的数据库了。其中建了一个发明,并在中插入了一行数(点击展开)。

SQL Server 1SQL Server 2

 1 --创建数据库;
 2 
 3 USE master;
 4 IF DB_ID('EduBaseDemo') IS NOT NULL
 5     BEGIN
 6         ALTER DATABASE EduBaseDemo
 7             SET SINGLE_USER
 8             WITH ROLLBACK IMMEDIATE;
 9         DROP DATABASE EduBaseDemo;
10     END
11 CREATE DATABASE EduBaseDemo
12     ON
13         (NAME='Datafile'
14         ,FILENAME='C:\DataFile.mdf')
15     LOG ON
16         (NAME='Logfile'
17         ,FILENAME='C:\Logfile.ldf');
18 GO
19 
20 USE EduBaseDemo;
21 
22 --创建表;
23 ----学生表;    
24 
25 CREATE TABLE tb_Student
26     (No
27         CHAR(10)
28         NOT NULL
29         PRIMARY KEY
30     ,Name
31         VARCHAR(20)
32         NOT NULL
33     ,Gender
34         CHAR(2)
35         NOT NULL
36     ,BirthDate
37         DATE
38         NOT NULL
39     ,Class
40         VARCHAR(50)
41         NOT NULL
42     ,Speciality
43         VARCHAR(100)
44         NULL);
45 
46 INSERT tb_Student
47     (No,Name,Gender,BirthDate,Class,Speciality)
48     VALUES
49     ('3120707001','田永申','男','1991-10-15','12信管','睡觉');

成立简单数据库、建表并插入一行数

  然后重新建一个简单的Windows窗体来演示一下,就如这么:

SQL Server 3

  很明白,这里就是待采取前端和数据库的接连了,所以加上相应的命名空间:

1 using System.Data.SqlClient; 

  在“载入”按钮的Click事件备受先行在以下代码:

1 SqlConnection sqlConnection = new SqlConnection();                                                  //声明并实例化SQL连接;
2     sqlConnection.ConnectionString ="Server=(local);Database=EduBaseDemo;Integrated Security=sspi"; //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);
3     SqlCommand sqlCommand = new SqlCommand();                                                       //声明并实例化SQL命令;
4     sqlCommand.Connection = sqlConnection;                                                          //将SQL命令的连接属性指向SQL连接;
5     sqlCommand.CommandText = "SELECT * FROM tb_Student WHERE No=@No;";                              //指定SQL命令的命令文本;
6     sqlCommand.Parameters.AddWithValue("@No", "3120707001");                                        //向SQL命令的参数集合添加参数的名称、值;
7     sqlConnection.Open();                                  

  这里虽是直定义字符串sqlCommand查询’No’字段是‘3120707001’的音信,然后打开数据库连接。然后重头戏就是来了,现在我们就是可以为此SqlDataReader来读取数据了。SqlDataReader的运用方法其实非常简单,只要用一行代码就得做到数据的“读”操作,也就是是调用SQL命令的方法ExecuteReader来执行命令,并获取数据阅读器;

1 SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); 

  但是今我们不知晓到底它读之操作成没有,更要紧之是朗诵了数码我们要将来用o(╯□╰)o。我需要的只是是读取了然后载入到自的UI的框里显示出来,所以,可以用一个if来判定是否成功读取,如果成功之口舌虽拿数量放到对应的控件被失:

1 if (sqlDataReader.Read())                                                                      //若数据阅读器成功读取到下一条记录(首次查询则表示第一条记录);
2     {
3         this.txb_No.Text = sqlDataReader["No"].ToString();                                  //在数据阅读器的索引器中指定列名,从而访问当前记录的指定列的值,并赋予相应控件;
4         this.txb_Name.Text = sqlDataReader["Name"].ToString();
5         this.txb_Gender.Text = sqlDataReader["Gender"].ToString();
6         this.txb_BirthDate.Text = ((DateTime)sqlDataReader["BirthDate"]).ToShortDateString(); //生日首先转换为日期时间类型,再调用ToShortDateString方法获取日期部分;
7         this.txb_Class.Text = sqlDataReader["Class"].ToString();
8         this.txb_Speciality.Text = sqlDataReader["Speciality"].ToString();
9     }

  SqlDataReader控件读取到的多寡还是万能的Object格式,但是我们是没道直接用的,所以即便用开展数据格式的转换,我这里统一用了.ToString转换成String格式(主要是方便)。凡事都发生异,BirthDate这长达就是是这么。在数据库中自己定义的凡Date,但是也,在C#内部是从未Date这种数量类的,这种情形下就如管其换成为类似之DateTime数据类型,然后再度用ToShortString方法来得到前面的日子部分再换成为String才方可。

  当然了,作为一个(有点?)严谨的编程语言,打开了SqlDataReader以后要么要用平等句子话关掉它的,不然就是游玩流氓了~

1 sqlDataReader1.Close();

  完美了老铁们,现在咱们离开出任CEO、迎娶白富美、走及人生巅峰只差临门一脚了——程序写了了使调节之吧,调试下看就算得领略这波有没有产生题目了。昂…JUST
DO IT!

  呐,运行一下如这么嘛

SQL Server 4

  数据还还当针对吧,简直就是周对吧,SqlDateReader的简单利用就这样啊(*^▽^*)


 

   今天底实战到此虽寿终正寝了,老铁们产生啊问题便马上直接评价讨论下?

  么么哒(づ ̄ 3 ̄)づ

相关文章