笔记4-数据阅读器的应用;数据适配器+数据表的应用
数据阅读器的应用;数据适配器+数据表的应
1、 用数据阅读器读取一整行的记录
(1) 先参数化
(2)声明数据阅读器 SqlDataReader
(3)用索引器获得各个成员的值
索引器返回的是object类型的值,用Tostring()装换成文本框可接收的数值类型,(DateTime)sqlDataReader["BirthDate"] 用来强制转换类型,ToshortDateString可以截断字符创只显示年月日
2、 优化读取的数据
(1) 生日改用下拉框(使用datatimepicker)
(2) 班级改成下拉框并且实现自动匹配,性别改用单选按钮
先创建一张班级表分配给下拉菜单,并且将学生表的classno类型改为INT,学生表的gender改成BIT类型。
声明数据适配器SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
开始存表DataTable classTable = new DataTable();
sqlDataAdapter.Fill(classTable);
将表的内容送到下拉框并实现自动匹配(代码如下)
注意:this.cmb_Class.ValueMember = "No"; 实现了下拉框的自动匹配
this.cmb_Class.DisplayMember = "Name";表示了下拉框中指定显示表格的字段
3、 实现一个记录的多个值修改
声明实例化SQL命令:
Sqlcommand sqlCommand=new SqlCommand();
sqlCommand.Connection=sqlConnection;
用参数化的命令实现更新:
在update语句中将所有的字段参数化添加。用ExecuteNonQuery来执行命令,向数据库写入数据,并用消息框提示是否更改成功
4、 打开照片并且实现更新
先在学生表添加一个新的列photo,类型为VARBINARY(MAX)
将打开对话框文件实例化,包括默认的位置和制定的文件类型为bmp
用对话框获得文件名,在控件上显示图片
将图片存入数据库中的学生表(图像—内存流memorystream—byte[]—varbinary实现保存)
5、 一次性读取多条学生记录
使用DateGridView控件(名称为dgv_source)显示
6、 批量修改并保存到数据库:修改包括插入、删除、新增三种类型,要用DataAdapter灵活调用以上三种命令,如:sqlDataAdapter.InsertCommand = insertCommand.