首页 > 其他 > 详细

第四课

时间:2017-10-22 10:45:38      阅读:308      评论:0      收藏:0      [点我收藏+]

一、对学生表以表格形式(网格视图)显示:

 

在点击“载入”按钮时,可显示相应的数据表,具体代码:

1、 建立数据库连接
2、 声明并sqlcommand
3、 实例化sqlcommand的SQL命令:从数据库中取出整张表
sqlCommand.CommandText = "SELECT * FROM tb_Student;";
4、 定义适配器sqldataadapter并将查询命令属性指向SQL命令:
Sqldataadapter.SelectCommand-sqlcommand;
5、 声明实例化数据表,用来保存从数据库中取出的整张表,以用作数据网络视图的数据源,这里以学生表为例:
DataTable studentTable = new DataTable();
6、 打开数据连接
sqlConnection.Open(); 
7、 将SQL数据适配器sqldataadapter读取的数据,并填充到数据数据表datatable
sqlDataAdapter.Fill(studentTable);
8、 关闭数据库连接
sqlConnection.Close();
9、将网格视图的数据源属性设为数据表
this.dgv_Score.DataSource = studentTable;
10、 将数据网格视图的指定列的表头文本设为中文

this.dgv_Score.Columns["Name"].HeaderText = "姓名";

this.dgv_Score.Columns["Gender"].HeaderText = "性别";

this.dgv_Score.Columns["BirthDate"].HeaderText = "生日";

this.dgv_Score.Columns["Speciality"].HeaderText = "特长";

this.dgv_Score.Columns["Photo"].HeaderText = "照片";
11、 将将数据网格视图的指定列设为不可见;
this.dgv_Score.Columns["ClassNo"].Visible = false; 
12、 若将班级设为下拉框:可利用下列属性对下拉框进行相应的设置
DataGridViewComboBoxColumn classColumn = new DataGridViewComboBoxColumn(); 声明并实例化数据网格视图下拉框列,用于设置学生的班级;

 classColumn.Name = "Class";   设置下拉框列的名称;                                                                

 classColumn.HeaderText = "班级";   设置下拉框列的表头文本;                                                            

 classColumn.DataSource = classTable;   设置下拉框列的数据源为班级数据表;                                                         

 classColumn.DisplayMember = "Name";  设置下拉框列的显示成员为(班级数据表的)名称(列);                                                           

 classColumn.ValueMember = "No";    设置下拉框列的值成员为(班级数据表的)编号(列);                                                             

classColumn.DataPropertyName = "ClassNo";  设置下拉框列的数据属性名称为(学生数据表的)班级编号(列);                                                     

 classColumn.DisplayIndex = 4;  设置下拉框列的显示顺序;                                                                 

 classColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; 设置下拉框列的自动调整列宽模式为填充;                                

  this.dgv_Score.Columns.Add(classColumn);
2、 对学生表进行多行的修改:
利用上图的“提交”按钮完成:步骤如下
在完成数据库的连接的建立后:
1、分别声明并实例化插入语句、更新语句以及删除语句:
(1)首先:插入语句
声明实例化SQL命令:insertcommand
SqlCommand insertCommand = new SqlCommand();(声明sql命令)
insertCommand.Connection = sqlConnection;(sql命令的连接属性指向SQL连接)
insertCommand.CommandText="INSERT?tb_Student"+ "(No,Name,Gender,BirthDate,Class,Speciality)"+ " VALUES(@No,@Name,@Gender,@BirthDate,@Class,@Speciality);";(指定SQL命令)
向SQL命令的参数集合添加参数的名称、SQL Server数据类型、长度(仅用于定长类型)、所绑定的数据表中的列名;
insertCommand.Parameters.Add("@No", SqlDbType.Char, 10, "No");                                  
insertCommand.Parameters.Add("@Name", SqlDbType.VarChar, 0, "Name");                                 
insertCommand.Parameters.Add("@Gender", SqlDbType.VarChar, 0, "Gender");
insertCommand.Parameters.Add("@BirthDate", SqlDbType.VarChar, 0, "BirthDate");
insertCommand.Parameters.Add("@Class", SqlDbType.VarChar, 0, "Class");
insertCommand.Parameters.Add("@Speciality", SqlDbType.VarChar, 0, "Speciality");
(2)然后,声明定义更新语句:updatecommand
SqlCommand updateCommand = new SqlCommand();(声明更新SQL命令)
updateCommand.Connection = sqlConnection;(SQL命令的连接属性指向SQL连接)
updateCommand.CommandText = "UPDATE?tb_Student"+"SET No=@NewNo,Name=@Name,Gender=@Gender,BirthDate=@BirthDate,Class=@Class,Speciality=@Speciality"
+ " WHERE No=@OldNo;";(指定SQL命令)
向SQL命令的参数集合添加参数的名称、SQL Server数据类型、长度(仅用于定长类型)、所绑定的数据表中的列名;
updateCommand.Parameters.Add("@NewNo", SqlDbType.Char, 10, "No");
updateCommand.Parameters.Add("@Gender", SqlDbType.VarChar, 0, "Gender");
updateCommand.Parameters.Add("@BirthDate", SqlDbType.VarChar, 0, "BirthDate");
updateCommand.Parameters.Add("@Class", SqlDbType.VarChar, 0, "Class")
updateCommand.Parameters.Add("@Speciality", SqlDbType.VarChar, 0, "Speciality");
updateCommand.Parameters.Add("@OldNo", SqlDbType.Char, 10, "No"); 
若学号发生更改,则还需提供旧学号,以便查询要更改的行;
updateCommand.Parameters["@OldNo"].SourceVersion = DataRowVersion.Original; 
(3) 声明并实例化删除语句:deletecommand
SqlCommand deleteCommand = new SqlCommand();(声明deletecommand的SQL命令)
deleteCommand.Connection = sqlConnection;(SQL命令的连接属性指向SQL连接)
deleteCommand.CommandText = "DELETE tb_Student"+ " WHERE No=@No;"(指定SQL命令)
指定SQL命令的参数名称、数据类型、长度及所对应的数据表的列。
deleteCommand.Parameters.Add("@No", SqlDbType.Char, 10, "No");
2、 声明并实例化数据库适配器
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
将SQL数据适配器的属性InsertCommand指向用于插入记录的SQL命令;
 sqlDataAdapter.InsertCommand = insertCommand; 
将SQL数据适配器的属性UpdateCommand指向用于更新记录的SQL命令;
sqlDataAdapter.UpdateCommand = updateCommand; 
将SQL数据适配器的属性DeleteCommand指向用于删除记录的SQL命令;
sqlDataAdapter.DeleteCommand = deleteCommand;  
声明数据表,并指向网络视图的数据源,默认为object类型,要对数据类型进行装换。
sqlDataAdapter.DeleteCommand = deleteCommand;  
DataTable studentTable1 = (DataTable)this.dgv_Score.DataSource;
3、 打开SQL连接: sqlConnection.Open();
4、 定义数值型rowaffected来显示受影响的行数,SQL数据适配器根据学生数据表提交所有更新,并返回受影响行数
int rowAffected = sqlDataAdapter.Update(studentTable1);
 

第四课

原文:http://www.cnblogs.com/yyyz516/p/7707558.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!