C#学习记录(47)MSSQL数据库

引言

      微软数据库是针对中小型企业的关系型数据库,操作简单易上手。首先介绍下C#.NET的数据库,以 ActiveX 数据对象(ADO)为基础 以 XML(扩展标记语言)为格式传送和接收数据:

            C#.NET应用程序  <----->ADO.NET<----->数据库

程序中使用System.Data 命名空间。

一. ADO.NET的框架:

       NET Framework数据提供程序是专门为数据处理以及快速地只进、只读访问数据而设计的组件。使用它,我们可以连接数据库、执行命令和检索数据,直接对数据库进行操作。
       DataSet(数据集)是专门为独立于任何数据源的数据访问而设计。使用它,我们可以不必直接和数据库打交道,可以大批量地操作数据,也可以将数据绑定在控件上。

.NET通过以下的对象来进行数据库的操作:
(1)Connection        建立与数据源的连接
(2)Command         对数据源执行操作命令
(3)DataReader      从数据源中读取只进且只读的数据流
(4)DataAdapter     用数据源填充DataSet并解析更新

1.Connection

Connection对象的主要属性和方法
属 性                                          说 明
ConnectionString                   用于连接数据库的连接字符串
方 法                                         说 明
Open()                              使用ConnectionString属性所指定的设置打开数据库连接
Close()                              关闭与数据库的连接

(1) 定义连接字符串(可以直接在第(2)步中编写)
不同的数据库连接字符串格式不同,SQL Server数据库的连接字符串格式一般为:
            Data Source=服务器名;Initial Catalog=数据库名; User ID=用户名;Pwd=密码
例如,要连接本机的pubs数据库,连接字符串写成:
            string connString = "Data Source=.;Initial Catalog=pubs;User ID=sa";
经验:
    服务器如果是本机,可以输入“.”来代替计算机名称或者IP地址。密码如果为空,可以省略Pwd一项。

(2). 创建 Connection 对象
调用定义好的连接字符串创建Connection 对象。
SqlConnection connection = new SqlConnection(connString);
(3). 打开与数据库的连接
调用Connection 对象的Open()方法打开数据库连接。
connection.Open( );

(4) 关闭数据库的连接

Connection.Close();

string connString = "Data Source=.;Initial Catalog=db_MrCy;UserID=sa;pwd=sa";
SqlConnection connection = new SqlConnection(connString);
// 打开数据库连接
connection.Open();
MessageBox.Show("打开数据库连接成功");
// 关闭数据库连接
connection.Close();
MessageBox.Show("关闭数据库连接成功");

2.使用Command对象
      打开数据库连接后,怎样操作数据呢?这就需要Command对象(命令对象),Command对象可以对数据库执行增删改查的命令。

Command对象的主要属性和方法
属 性                                       说 明
Connection                      Command对象使用的数据库连接
CommandText                执行的SQL语句
方 法                                       说 明
ExecuteNonQuery()   执行不返回行的语句,如update、delete等
ExecuteReader()        执行程序命令,返回DataReader对象

ExecuteScalar()         返回单个值,如执行count(*)等

ExecuteScalar()方法只返回查询结果的第一行第一列的值,所以当我们的查询结果只有一个值时,通常使用这个方法。方法的返回值要进行显式类型转换。
要使用Command对象,必须有一个已经连接的Connection对象,使用Command对象的步骤包括:
(1)创建数据库连接
         按照上节介绍的步骤创建一个Connection对象。
(2)定义执行的SQL语句
         将对数据库执行的SQL语句赋给一个字符串。
(3)创建Command对象
         使用已有的Connection对象和SQL语句串创建一个Command对象。
(4)执行SQL语句
         使用Command对象的某个方法执行命令。

connection.Open(); // 打开数据库连接

SqlCommand command = new SqlCommand(sql, connection);  // 创建Command 对象

num = (int)command.ExecuteScalar();  // 执行SQL 查询

message = string.Format("tb_Waiter表中共有{0}条员工信息!",num);
MessageBox.Show(message,"查询结果",MessageBoxButtons.OK,MessageBoxIcon.Information);

3.DataReader对象查询、增删改数据

使用DataReader对象可以从数据库中检索只读数据,它每次从查询结果中读取一行到内存中,所以使用DataReader对数据库进行操作非常快。DataReader属于.NET Framework数据提供程序。

DataReader对象的主要属性和方法
属 性                说 明
HasRows         是否返回了结果
FieldCount      当前行中的列数
方 法                说 明
Read()        前进到下一行记录
Close()       关闭 DataReader 对象

使用DataReader的步骤:
1. 创建Command对象

sql是查询、增改删语句。

SqlCommand command = new SqlCommand(sql, connection);  // 创建Command 对象
2. 调用Command对象的ExecuteReader()方法创建DataReader对象
SqlDataReader dataReader = command.ExecuteReader();
3. 使用 DataReader 的 Read() 方法逐行读取数据这个方法返回一个布尔值,如果能读到一行记录,就返回True,否则返回False。
dataReader.Read();
4. 读取某列的数据,(type)dataReader[ 列名或序列号]像读取数组一样,用方括号来读取某列的值,如(string)dataReader["WaiterName"];  方括号可以像数组一样使用列的索引,从0开始,也可以使用列名,取出的值要进行类型转换。
5. 关闭 DataReader 对象
使用dataReader对象读取数据的时候会占用数据库连接,必须用它的Close()方法来关闭dataReader对象,才能用数据库连接进行其它操作。
dataReader.Close();

//创建连接对象
SqlConnection conn = *****;
string sql = "SELECT waitertype FROM tb_Waitertype"; // 查询员工类别的sql语句,也可以是增改删语句。
// 设置command命令执行的语句
SqlCommand command = new SqlCommand(sql, conn);
try
{
    conn.Open(); // 打开数据库连接
    SqlDataReader dataReader = command.ExecuteReader(); // 执行查询
    string waitertype = ""; // 类别名称
    // 循环读出所有的类别名,并添加到类别列表框中
    while (dataReader.Read())
    {
        waitertype = (string)dataReader["waiterType"];
        cboType.Items.Add(waitertype);
    }
    dataReader.Close();
}
catch (Exception ex)
{
    MessageBox.Show("操作数据库出错");
    Console.WriteLine(ex.Message);
}
finally
{
    conn.Close();
}

 

4.使用Listview控件绑定数据

列表视图控件的主要属性、事件和方法
属性                        说明
Columns                  “详细信息”视图中显示的列
FullRowSelect            当选中一项时,它的子项是否同该项一起突出显示
Items                    ListView中所有项的集合
MultiSelect              是否允许选择多项
SelectedItems            选中的项的集合
View                     指定以哪种视图显示

事件                        说明
MouseDoubleClick         鼠标双击事件

方法                        说明
Clear()                清除ListView中的所有项列

实际应用如下:

listview1.Items.Clear();//清空当前列表框
SqlConnection conn = **********;
conn.Open();///连接数据库
SqlCommand cmd = new SqlCommand("select * from tb_Room", conn);//数据库命令对象
sdr = cmd.ExecuteReader();//执行数据库命令,返回DataReader对象
while (sdr.Read())///将DataReader对象依次读取出来
{
    string zt = sdr["RoomZT"].ToString().Trim();
    
    AddItems(zt);//添加到列表框中的自定义函数
}
conn.Close();//关闭数据库连接

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C是一种广泛使用的编程语言,被誉为一种高级的通用编程语言。它的设计目标是提供一种简单、灵活、强大的编程语言,使程序员能够轻松地开发各种应用程序。 C语言的语法简洁明了,易于学习和理解。它支持丰富的操作符和数据类型,包括整型、浮点型、字符型等,能够满足各种编程需求。同时,C语言还提供了丰富的控制结构,如循环、条件语句等,使得程序员能够灵活地控制程序的执行流程。 C语言具备高效的性能和可移植性。C语言的代码可以直接转换为机器语言执行,因此具备快速的执行速度。此外,C语言的代码可以在不同的操作系统和硬件平台上运行,具有广泛的可移植性。 C语言还具备丰富的函数,提供了许多常用的函数和工具,如输入输出函数、数学函数、字符串处理函数等。通过调用这些函数,程序员可以快速完成复杂的任务,提高开发效率。 值得一提的是,C语言也是许多其他编程语言的基础,如C++、Java、Python等。学习C语言不仅可以掌握一种通用的编程语言,也为学习其他编程语言打下了良好的基础。 总的来说,C语言具有简单易学、高效可移植、丰富的函数等优点,是一种非常实用的编程语言,广泛应用于各个领域的软件开发中。无论是初学者还是经验丰富的程序员,都可以通过学习和使用C语言,更好地实现自己的编程目标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值