《Command对象 对用户信息表进行操作.doc》由会员分享,可在线阅读,更多相关《Command对象 对用户信息表进行操作.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五讲 Command对象四、案例(在小型超市管理系统中的实现)l SqlCommand .CommandType= CommandType.Text(SQL命令)的例子功能描述:实现对表tbYHXXB(用户信息表【由用户ID、用户名、密码、用户类型4个字段构成】,如下图)的添加、修改和删除,没有返回结果,操作结果看表的内容变化代码参看附录1l SqlCommand .CommandType= CommandType.StoredProcedure(存储过程)的例子用到SqlParameter对象功能描述:实现对表tbYHXXB(用户信息表)的添加、修改和删除,没有返回结果,操作结果看表的内容
2、变化代码参看附录2l SqlCommand .CommandType= CommandType. TableDirect(表)的例子功能描述:打开表tbYHXXB(用户信息表),用ExcuteReader方法实现。代码参看附录3五、上机实践仿照【案例】上机练习,验证。运行界面如下图【附录1】提示:MySQL为前面创建的动态链接库ClassLibOfSuperMarket.dllprivate void button1_Click(object sender, EventArgs e) /用SQL命令添加一个用户:“10001,张三,收银员” MySQL getConn=new MySQL();
3、 SqlConnection theConn = null; try theConn = getConn.GetConnetion(); theConn.Open(); SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = theConn; sqlCmd.CommandType = CommandType.Text; sqlCmd.CommandText = Insert Into tbYHXXB Values(10001,张三,收银员); sqlCmd.ExecuteNonQuery(); catch (SqlException
4、sqlEx) MessageBox.Show(sqlEx.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); catch(Exception Ex) MessageBox.Show(Ex.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); finally if (theConn.State = System.Data.ConnectionState.Open) theConn.Close(); MessageBox.Show(记录添加成功!请查看数据库中的
5、表tbYHXXB, 添加记录, MessageBoxButtons.OK, MessageBoxIcon.Information); private void button2_Click(object sender, EventArgs e) /用SQL命令修改用户参数:将“10001,张三,收银员”改为 /“10001,我的名字,经理” MySQL getConn = new MySQL(); SqlConnection theConn = null; try theConn = getConn.GetConnetion(); theConn.Open(); SqlCommand sqlCm
6、d = new SqlCommand(); sqlCmd.Connection = theConn; sqlCmd.CommandType = CommandType.Text; sqlCmd.CommandText = Update tbYHXXB Set 用户名=我的名字,密码=,用户类型=经理; sqlCmd.ExecuteNonQuery(); catch (SqlException sqlEx) MessageBox.Show(sqlEx.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (Excep
7、tion Ex) MessageBox.Show(Ex.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); finally if (theConn.State = System.Data.ConnectionState.Open) theConn.Close(); MessageBox.Show(记录修改成功!请查看数据库中的表tbYHXXB, 修改记录, MessageBoxButtons.OK, MessageBoxIcon.Information); private void button3_Click(object
8、sender, EventArgs e) /用SQL命令删除一个用户:“10001,张三,收银员” MySQL getConn = new MySQL(); SqlConnection theConn = null; try theConn = getConn.GetConnetion(); theConn.Open(); SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = theConn; sqlCmd.CommandType = CommandType.Text; sqlCmd.CommandText = Delete fro
9、m tbYHXXB where 用户ID=10001; sqlCmd.ExecuteNonQuery(); catch (SqlException sqlEx) MessageBox.Show(sqlEx.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (Exception Ex) MessageBox.Show(Ex.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); finally if (theConn.State = System.
10、Data.ConnectionState.Open) theConn.Close(); MessageBox.Show(记录删除成功!请查看数据库中的表tbYHXXB, 删除记录, MessageBoxButtons.OK, MessageBoxIcon.Information); 【附录2】:private void button4_Click(object sender, EventArgs e) /调用存储过程AddUser添加一个用户:“10001,张三,收银员” MySQL getConn = new MySQL(); SqlConnection theConn = null; tr
11、y theConn = getConn.GetConnetion(); theConn.Open(); SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = theConn; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.CommandText = AddUser; SqlParameter UserID = new SqlParameter(); UserID.ParameterName = UserID; UserID.Value = 10001; UserID
12、.DbType = DbType.String; UserID.Direction = ParameterDirection.Input; SqlParameter UserName = new SqlParameter(); UserName.ParameterName = UserName; UserName.Value = 张三; UserName.DbType = DbType.String; UserName.Direction = ParameterDirection.Input; SqlParameter Pwd= new SqlParameter(); Pwd.Paramete
13、rName = Pwd; Pwd.Value = ; Pwd.DbType = DbType.String; Pwd.Direction = ParameterDirection.Input; SqlParameter UserType = new SqlParameter(); UserType.ParameterName = Type; UserType.Value = 收银员; UserType.DbType = DbType.String; UserType.Direction = ParameterDirection.Input; sqlCmd.Parameters.Add(User
14、ID); sqlCmd.Parameters.Add(UserName); sqlCmd.Parameters.Add(Pwd); sqlCmd.Parameters.Add(UserType); sqlCmd.ExecuteNonQuery(); catch (SqlException sqlEx) MessageBox.Show(sqlEx.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (Exception Ex) MessageBox.Show(Ex.Message, SQL错误, MessageBo
15、xButtons.OK, MessageBoxIcon.Error); finally if (theConn.State = System.Data.ConnectionState.Open) theConn.Close(); MessageBox.Show(记录添加成功!请查看数据库中的表tbYHXXB, 添加记录, MessageBoxButtons.OK, MessageBoxIcon.Information); private void button5_Click(object sender, EventArgs e) /调用存储过程ModiUser修改用户:“12345,玉溪,经理
16、” MySQL getConn = new MySQL(); SqlConnection theConn = null; try theConn = getConn.GetConnetion(); theConn.Open(); SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = theConn; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.CommandText = ModiUser; SqlParameter UserID = new SqlParamete
17、r(); UserID.ParameterName = UserID; UserID.Value = 12345; UserID.DbType = DbType.String; UserID.Direction = ParameterDirection.Input; SqlParameter UserName = new SqlParameter(); UserName.ParameterName = UserName; UserName.Value = 玉溪; UserName.DbType = DbType.String; UserName.Direction = ParameterDir
18、ection.Input; SqlParameter Pwd = new SqlParameter(); Pwd.ParameterName = Pwd; Pwd.Value = ; Pwd.DbType = DbType.String; Pwd.Direction = ParameterDirection.Input; SqlParameter UserType = new SqlParameter(); UserType.ParameterName = Type; UserType.Value = 经理; UserType.DbType = DbType.String; UserType.
19、Direction = ParameterDirection.Input; sqlCmd.Parameters.Add(UserID); sqlCmd.Parameters.Add(UserName); sqlCmd.Parameters.Add(Pwd); sqlCmd.Parameters.Add(UserType); sqlCmd.ExecuteNonQuery(); catch (SqlException sqlEx) MessageBox.Show(sqlEx.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); c
20、atch (Exception Ex) MessageBox.Show(Ex.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); finally if (theConn.State = System.Data.ConnectionState.Open) theConn.Close(); MessageBox.Show(记录修改成功!请查看数据库中的表tbYHXXB, 添加记录, MessageBoxButtons.OK, MessageBoxIcon.Information); private void button6_Cl
21、ick(object sender, EventArgs e) /调用存储过程DeliUser删除用户:“12345,玉溪,经理” MySQL getConn = new MySQL(); SqlConnection theConn = null; try theConn = getConn.GetConnetion(); theConn.Open(); SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = theConn; sqlCmd.CommandType = CommandType.StoredProcedure; sqlC
22、md.CommandText = DelUser; SqlParameter UserID = new SqlParameter(); UserID.ParameterName = UserID; UserID.Value = ; UserID.DbType = DbType.String; UserID.Direction = ParameterDirection.Input; sqlCmd.Parameters.Add(UserID); sqlCmd.ExecuteNonQuery(); catch (SqlException sqlEx) MessageBox.Show(sqlEx.Me
23、ssage, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (Exception Ex) MessageBox.Show(Ex.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); finally if (theConn.State = System.Data.ConnectionState.Open) theConn.Close(); MessageBox.Show(记录删除成功!请查看数据库中的表tbYHXXB, 添加记录, MessageBoxButt
24、ons.OK, MessageBoxIcon.Information); 【附录3】 private void button7_Click(object sender, EventArgs e) /调用存储过程DeliUser删除用户:“12345,玉溪,经理” /运行出错,只支持OleDbConnection MySQL getConn = new MySQL(); SqlConnection theConn = null; try SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = theConn; sqlCmd.Comman
25、dText = tbYHXXB; sqlCmd.CommandType = CommandType.TableDirect; /SqlDataReader sqlDa = new SqlDataReader(); sqlCmd.ExecuteReader(); catch (SqlException sqlEx) MessageBox.Show(sqlEx.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (Exception Ex) MessageBox.Show(Ex.Message, SQL错误, MessageBoxButtons.OK, MessageBoxIcon.Error); finally if (theConn.State = System.Data.ConnectionState.Open) theConn.Close(); MessageBox.Show(直接打开表成功!请查看数据库中的表tbYHXXB, 添加记录, MessageBoxButtons.OK, MessageBoxIcon.Information);
限制150内