《Command对象-对用户信息表进行操作(共9页).doc》由会员分享,可在线阅读,更多相关《Command对象-对用户信息表进行操作(共9页).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
3、=new MySQL(); 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 (
4、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(记录
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(); Sql
6、Command sqlCmd = 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);
7、 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); private void button3_
8、Click(object 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
9、 = Delete from 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.St
10、ate = System.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 theCo
11、nn = null; try 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 =
12、10001; UserID.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();
13、 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.Direction = ParameterDirection.Input; sqlCmd.Parame
14、ters.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); catch (Exception Ex) MessageBox.Show(Ex.Message, SQL
15、错误, MessageBoxButtons.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修改用户
16、:“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; sqlCmd.CommandText = ModiUser; SqlParameter UserID = ne
17、w SqlParameter(); 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 =
18、 ParameterDirection.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.Stri
19、ng; UserType.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, MessageBoxI
20、con.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); private vo
21、id button6_Click(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.StoredPr
22、ocedure; sqlCmd.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.
23、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, 添加记录, M
24、essageBoxButtons.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;
25、sqlCmd.CommandText = 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内