阅读器、更新、图片
SqlDataReader:
一、sqlDataReder对象,可以从数据库中检索只读的数据,它每次从查询结果中读取一行到内存。
采用sqlDataReder的Read方法行读取数据,如果读到记录就返回true,否则返回false。
如图:一个显示学生信息的界面:
在建立相应SQL连接后,
1、调用SQL命令的方法ExecuteReader来执行命令,并获取数据阅读器:
SqlDataReader.sqlDataReader=sqlCommand.ExecuteReader();
2、若数据阅读器成功读取到下一条记录(首次查询则表示第一条记录)
if(sqlDataReader.Read())
3、在数据阅读器的索引器中指定列名,从而访问当前记录的指定列的值,并赋予相应控件
sqlDataReader["No"].ToString();
4、 当提取的数据涉及时间时,先使用DataTime强制装换成时间类型,再通过toShortDateString()获取日期的部分。 代码整合如下:if(sqlDataReader.Read()) {
this.txb_No.Text=sqlDataReader["No"].ToString();
this.txb_Name.Text = sqlDataReader["Name"].ToString();
this.txb_Gender.Text = sqlDataReader["Gender"].ToString();
this.txb_BirthDate.Text (DateTime)sqlDataReader["BirthDate"]).ToShortDateString();
this.txb_Class.Text = sqlDataReader["Class"].ToString();
this.txb_Speciality.Text = sqlDataReader["Speciality"].ToString();
}
2、 当对上图的进行改进: 建立SQL连接后,定义sqlcommand1、sqlcommand2,并进行实例化; Sqlcommand1.CommandText=”SELECT * FROM tb_class;”; Sqlcommand2.CommandText=”SELECT * FROM tb_Student WHERE No=@No;”; 声明SQL数据适配器,借助构造函数,将其SelectCommand属性设为先前创建的SQL命令。 SqlDataAdapter sqldataadapter=new SqlDataadapter(); Sqldataadapter.SelectCommand=sqlcommand1; 声明实例化数据表,用于保存所有班级,以用作下拉框的数据源。 DataTable classTable = new DataTable(); Sql数据适配器读取数据,并填充班级数据表 sqlDataAdapter.Fill(classTable); 将班级下拉框的数据源设为班级数据表,显示成员设为数据表的名称列,值成员设为班级数据表的编号列; this.cmb_Class.DataSource = classTable; this.cmb_Class.DisplayMember = "Name"; this.cmb_Class.ValueMember = "No"; 性别的单选按钮,“Gender"的值以0、1表示女、男,并将读到的值转成布尔类型。 this.rdb_Male.Checked = (bool)sqlDataReader["Gender"]; this.rdb_Female.Checked = !(bool)sqlDataReader["Gender"]; 3、 更新功能 在建立数据库连接后,命令语句采用更新SQL语句: sqlCommand.CommandText="UPDATEtb_Student”+"SETName=@Name,Gender=@Gender,BirthDate=@BirthDate,ClassNo=@ClassNo,Speciality=@Speciality"+" WHERE No=@No;"; 并对参数进行赋值。 调用SQL命令的方法ExcuteNonQuery来执行命令,向数据库写入数据,并返回受影响的行数。 int rowAffected = sqlCommand.ExecuteNonQuery(); 在消息框显示受影响的行。 MessageBox.Show("更新" + rowAffected.ToString() + "行。"); 4、 显示图片 / 在“打开照片”按钮中: 先声明并实例化一个打开文件的对话框,并设置文件的对话框标题(Title )、文件格式过滤器(Filter )、初始目录( InitialDirectory )。 OpenFileDialog openPhotoDialog = new OpenFileDialog() { Title = "打开照片文件(位图格式)" , Filter = "BMP Files (*.bmp)|*.bmp" , InitialDirectory = @"C:\" } 显示打开文件对话框,若打开文件对话框的对话结果为点击OK键,将对话框获得的文件名,存入本窗体的私有字段中,调用图像的静态方法FromFile从指定文件中读取图像,并赋予图像框; if (openPhotoDialog.ShowDialog() == DialogResult.OK) { this.PhotoFileName = openPhotoDialog.FileName; this.ptb_Photo.Image = Image.FromFile(this.PhotoFileName); }
转载于:https://www.cnblogs.com/yyyz516/p/7707555.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
