一.查询操作
对数据进行查询操作时,有两种情况:一是查询单个值,二是 查询若干条记录。
1、查询单个值
需要使用Command对象的ExecuteScalar()方法:步骤如下: (1)、创建Connection对象(数据库连接对象)。 (2)、创建查询用的SQL语句。 (3)、利用SQL语句和Connection对象创建Command对象。 (4)、打开数据库连接,调用Connection对象的Open()方法。 (5)、调用Command对象的ExecuteScalar()方法,返回一个标量值。 (6)、操作完成后关闭数据库连接,调用Connection对象的Close()方法。
2、查询若干条记录
需要使用Command对象的ExecuteReader()方法:步骤如下: (1)、创建Connection对象(数据库连接对象)。 (2)、创建查询用的SQL语句。 (3)、利用SQL语句和Connection对象创建Command对象。 (4)、打开数据库连接,调用Connection对象的Open()方法。 (5)、调用Command对象的ExecuteReader()方法,返回一个DataReader对象。 (6)、调用DataReader对象的Read()方法逐行读取记录,如果读到记录返回Ture,否则返回False.(7)、使用(type)dataReader[列名或索引]的方式读取这一行中某一列的值。 (8)、关闭DataReader对象 (9)、操作完成后关闭数据路连接,调用Connection对象的Close()方法。
二、非查询操作
对数据库执行非查询操作时,包括增加,修改,删除数据,都使用Command对象的ExecuteNonQuery()方法,步骤如下:
(1)、创建Connection对象(数据库连接对象) (2)、创建增删改用的SQL语句。 (3)、利用SQL语句和Connection对象创建Command对象。 (4)、打开数据库连接,调用Connection对象的Open()方法。 (5)、调用Command对象的ExecuteNonQuery()方法执行命令,返回受影响的行数。 (6)、操作完成后关闭数据库连接,调用Connection对象的Close()方法。
本章总结
1、使用DataReader查询数据记录,通过Command对象的ExecuteReader()方法返回一个DataReader对象。
2、使用DataReader读取数据室每次调用Read()方法读取一行数据。
3、DataReader使用完后要调用它的Close()方法关闭。
4、使用Command对象的ExecuteNonQuery()方法对数据进行增删改的操作。
5、ExecuteNonQuery()方法返回受影响的行数。
6、ListView(列表视图)控件有5种视图模式,重点是Details 列表视图的Items属性表示包含在空间中的所有项的结合,每一个项都是一个ListViewItem,使用Items.Add()方法向列表视图中添加一项 调用列表视图项的SubItems.AddRange()方法添加它的子项
ListViewItem lviStudent = new ListViewItem(loginID);创建一个ListView项 lviStudent.Tag=(int)dataReader[“StudentId”]; lvStudent.Items.Add(lviStudent);//向ListView中添加一个新项 lviStudent.SubItems.AddRange(new string[] {studentName,studentNo,userState});//向当前项中添加子项
7、ContextMenuStrip(快捷菜单)控件可以与其他控件结合使用,通过设置控件的ContextMenuStrip属性来指定它的快捷菜单。
想鼠标右键单击文本框时出现快捷菜单,就选中文本框在属性窗口中找到它的ContextMenuStrip属性,选择已有的右键菜单控件 txtLoginId.Focus():
下拉列表:
创建Command对象调用Command对象的ExecuteReader()方法创建DataReader对象(sqlDataReader dataReader=command.ExecuteReader())使用DataReader的Reader()方法逐行读取数据(放回bool类型)读取当前行的某列的数据(cboGrade.Items.Add(dataReader[“列名”]))关闭DataReader对象,Close()方法
向数据库中添加数据:
创建Connection对象定义要执行的SQL语句创建Command对象执行ExecuteNonQuery()方法根据返回的结果进行后续的处理
双击显示出ID:
MeageBox.show(dataGridView1.SelectedRows[0].cells[“ColID”].value.ToString());
刷新:
1,BindStudentByLoginID(txtBox.Text) 2,listView.Items.RemoveAt(Listview1.SelectedIndices[0])//只能删除选中的行(选中第几个)