C#中的增删改查
来源:互联网 发布:大连理工大学网络教育 编辑:程序博客网 时间:2024/05/01 23:37
敲三层的时候我只敲了三层的登录界面,结果改七层把登录改完了,换了注册时候犯了难,因为将U层的数据写到数据库时候不会写,虽然思想一样,但是语句不一样啊,写法和查到的博客也都不一样,因为大神们的博客全是用VB.NET写的,哎我这个只是单纯的用到了查的菜鸟又得啃食了,所以下了很大的决定,再把三层从头来过,so,至今我还在三层耕耘。话说耕耘了这么长的时间,总得有点自己的收获吧,所以就要总结一番了。
查
查这个语句算是很简单的了,三层登录视频上也有源码,上上篇博客C#版机房登录中也有介绍,再次不在赘述。
增
增这个语句可得好好的说说,因为我的痛苦便是从这而来,所以才有了这篇费劲啃来的博客,小伙伴们可是有福享喽。
首先看思路:U层输入数据,点击存储后,开始执行B层代码,B层我使用的是实体,所以在B层将数据全部赋值给实体(到D层就简单了,在D层只是调用实体就可以了),D层首先进行卡号的查询,如果卡号被在数据库中查询到则进行提示卡号已经存在,如果卡号未在数据库中查询到则进行注册,将数据写入数据库后进行提示注册成功。
U层
private void btnOk_Click(object sender, EventArgs e) { //卡号不能为空 if (txtCardNo.Text.Trim() == "") { MessageBox.Show("卡号不能为空"); return; } //学号不能为空 if (txtStudentNo.Text.Trim()=="") { MessageBox.Show("学号不能为空"); return; } //、、、重复不能为空的Text语句进行提示 //卡号不为空 Entity.cardInfo cardInfo = new Entity.cardInfo(); BLL.RegistServer CardNo = new BLL.RegistServer(); //文本框内容传给实体 cardInfo.cardNO = txtCardNo.Text.Trim(); cardInfo.studentNO = txtStudentNo.Text.Trim(); cardInfo.staute = cmbStatus.Text; cardInfo.lastMoney = Convert.ToDecimal(txtRechargeNum.Text); cardInfo.type = cmbType.Text; cardInfo.isCheck = cmbIsCheck.Text; cardInfo.user = txtUserID.Text; cardInfo = CardNo.CheckCardNo(cardInfo); if (cardInfo != null) { MessageBox.Show("恭喜,注册成功!"); } if (cardInfo == null) { MessageBox.Show("对不起,该账号已存在!"); } }
B层
#region 查询卡的方法 public Entity.cardInfo CheckCardNo(Entity.cardInfo CardNo) { DAL.CardDAO CardDAO = new DAL.CardDAO(); Entity.cardInfo cardInfo = new Entity.cardInfo(); //U层数据赋给传值的实体 cardInfo.cardNO = CardNo.cardNO; cardInfo.studentNO = CardNo.studentNO; cardInfo.staute = CardNo.staute; cardInfo.lastMoney = CardNo.lastMoney; cardInfo.type = CardNo.type; cardInfo.isCheck = CardNo.isCheck; cardInfo.user = CardNo.user; cardInfo = CardDAO.SelectCardNO(CardNo);//调用D层注册查询卡的方法 return cardInfo; } #endregion
D层
#region // 注册查询卡信息 public Entity.cardInfo SelectCardNO(Entity.cardInfo cardInfo) { using (SqlConnection conn = new SqlConnection(CtDB.ConnString)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "select * from card where cardNO=@cardNO";//查询卡语句 cmd.CommandType = CommandType.Text; cmd.Parameters.Add(new SqlParameter("@cardNO", cardInfo.cardNO)); Entity.cardInfo cards = new Entity.cardInfo(); conn.Open();//打开数据连接 SqlDataReader reader = cmd.ExecuteReader(); reader.Read();//进行数据库查询 try { AddCard(cardInfo);//调用写入数据库的方法 } catch { cards = null; return cards; } return cards; } } #endregion #region //写入数据库的方法 private Entity.cardInfo AddCard(Entity.cardInfo cardInfo) { using (SqlConnection conn = new SqlConnection(CtDB.ConnString)) { SqlCommand cmd = conn.CreateCommand(); //写入的语句 cmd.CommandText = "insert into card values(@cardNO,@studentNO,@statue,@lastMoney,@type,@isCheck,@userID)"; cmd.CommandType = CommandType.Text; //写入的内容 cmd.Parameters.Add(new SqlParameter("@cardNO", cardInfo.cardNO)); cmd.Parameters.Add(new SqlParameter("@studentNO", cardInfo.studentNO)); cmd.Parameters.Add(new SqlParameter("@statue", cardInfo.staute)); cmd.Parameters.Add(new SqlParameter("@lastMoney", cardInfo.lastMoney)); cmd.Parameters.Add(new SqlParameter("@type", cardInfo.type)); cmd.Parameters.Add(new SqlParameter("@isCheck", cardInfo.isCheck)); cmd.Parameters.Add(new SqlParameter("@userID", cardInfo.user)); conn.Open();//打开数据连接 cmd.ExecuteNonQuery();//执行写入语句 return cardInfo; } } #endregion
至此,我探索的完整的插入数据就结束了,下面看看删除吧。
删
说起删呢,想到了,最近情人节,就算情人节也别将就自己,不喜欢了就删了他,哈哈。。。
删呢和上述的增是很相似的,所以代码也就不贴了,只把简单的语句写出来供学习。
string MyDelete="Delete from card where cardID="+TextBox1.Text;SqlCommand MyCommand=new SqlCommand(MyDelete,MyConnection);//异常处理try{MyConnection.Open();MyCommand.ExecuteNonQuery();MyConnection.Close();txtCardID.Text="";}catch(Exception ex){Console.WriteLine("{0} Exception caught.", ex);}
改
改和删和增还是类似的,所以下面的话你懂得。。。
string MyUpdate="Update card set studentNO='"+studentNO+"',type='"+type+"' where cardIDID="+txtCardID.Text;SqlCommand MyCommand=new SqlCommand(MyUpdate,MyConnection);try{MyConnection.Open();MyCommand.ExecuteNonQuery();MyConnection.Close();txtCardID.Text="";}catch(Exception ex){Console.WriteLine("{0} Exception caught.", ex);}
写了这么多,最想说的一句话就是:不懂一定得硬着脸皮去问去查去探索啊。培养死不要脸的革命精神,哈哈,都懂得!!!
0 0
- C#中的增删改查
- c# datagridview 增删查改
- c# access增删改查
- c# mysql增删改查
- hibernate中的增删改查
- DataTable中的增删改查
- Rails中的增删改查
- Hibernate 中的增删改查
- EF中的增删改查
- Rails中的增删改查
- iwebshop中的增删改查
- iwebshop中的增删改查
- mysql中的增删改查
- winform中的增删改查
- 增删改查中的-查询
- iwebshop中的增删改查
- Python中的增删改查
- Mysql中的增删改查
- Stanford 机器学习 Week3 作业 Logistic Regression
- Office Web Apps安装部署
- Spring核心组件
- eerTcirtemmyS.101
- 排序笔记_4(自上而下、自底而上的归并排序)
- C#中的增删改查
- poj 1050 To the Max & uva 108
- 犀牛书随手记-06
- 学习笔记--数论大杂烩 (看心情更新)
- 2186: [Sdoi2008]沙拉公主的困惑 线性筛素数+欧拉函数+乘法逆元
- 2016年的希望
- HDU 4185 Oil Skimming(二分图最大匹配)
- 04环信聊天界面 - 接收方cell的布局
- Java匿名内部类浅析