[每日一学] C# 可视化程序设计机试知识点汇总,DBhelper类代码
作者:CC下载站 日期:2020-06-05 00:00:00 浏览:54 分类:涨姿势
打开窗体
HotelTypeht=newHotelType(); ht.Show();//非模式窗体ht.ShowDialog();//模式窗体
在父窗体中打开子窗体
HotelTypeht=newHotelType(); ht.MdiParent=this; ht.Show();//非模式窗体ht.ShowDialog();//模式窗体
退出系统
Application.Exit();
清空文本框
两种方式 this.TextBox.clear(); this.TextBox.text=””;
窗体加载时查询绑定到DataGridView控件中(Load事件,查询)
//定义SQL语句 stringsql1="select*fromRoomType"; //调用DBHelper类的查询方法,返回DataTable类型数据 DataTabledt=DBHelper.getDataTable(sql1); //将返回的结果绑定到DataGridView控件的数据源中 this.dataGridView1.DataSource=dt;
数据中查出数据绑定到DataGridView控件中(Load事件,查询,给下拉框赋值)
//定义SQL语句 stringsql1="select*fromRoomType"; //调用DBHelper类的查询方法,返回DataTable类型数据 DataTabledt=DBHelper.getDataTable(sql1); //DisplayMember为显示的文本值,ValueMember为真实的值一般为主键 this.comboBox1.DisplayMember="typeName"; this.comboBox1.ValueMember="typeID" //将返回的结果绑定到DataGridView控件中 this.comboBox1.DataSource=dt;
根据条件查询并重新绑定到DataGridView控件中(点击查询按钮,模糊查询)
一、单条件模糊查询 //获得界面上输入的查询的条件 stringtypeName=this.textBox1.Text; //定义包含查询条件的sql语句 stringsql=string.Format("select*fromRoomTypewhereTypeNamelike'%{0}%'",typeName); //调用DBHelper类的查询方法,返回DataTable类型数据 DataTabledt=DBHelper.getDataTable(sql); //将返回的结果绑定到DataGridView控件中 this.dataGridView1.DataSource=dt;
二、多条件模糊查询(eg:按名称模糊查询,按日期查询)
//获得界面上输入的查询的条件 stringtypeName=this.textBox1.Text; stringdateValue=this.textBox2.Text; //定义包含查询条件的sql语句 stringsql=string.Format("select*fromRoomTypewhere1=1"); if(typeName!=””){ sql+=”andTypeNamelike'%”+money1+”%'”; } if(dateValue!=””){ sql+=”anddateValue='”+dateValue+”'”; } //调用DBHelper类的查询方法,返回DataTable类型数据 DataTabledt=DBHelper.getDataTable(sql); //将返回的结果绑定到DataGridView控件中 this.dataGridView1.DataSource=dt;
选中DataGridView中的行,将所有列的数据一个个放入到文本控件中(cellClick事件)。
//在cellClick事件外定义typeID stringtypeID; //判断选中的行数是否>0 if(this.dataGridView1.SelectedRows.Count>0) { //”=”号左边给全局变量typeID赋值,”=”号右边获得选中第一行第一列的值转为string类型(列标号以数据库中的顺序为准) typeID=this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); //”=”号左边给文本框赋值,”=”号右边获得选中第一行第二列的值转为string类型 this.textBox2.Text=this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); //”=”号定义变量接收,”=”号右边获得选中第一行第三列的值转为string类型(根据值选中复选框) stringIsAddBed=this.dataGridView1.SelectedRows[0].Cells[2].Value.ToString(); //去掉变量中isAddBed数据中的空格 IsAddBed=IsAddBed.Trim(); //如果IsAddBed的内容是等于”是“,就选中复选框,否则不选中 if(IsAddBed=="是"){ this.checkBox1.Checked=true; }else{ this.checkBox1.Checked=false; } //”=”号定义变量接收,”=”号右边获得选中第一行第四列的值转为string类型(根据值选中单选按钮) stringradioButton=this.dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); //如果radioButton的内容是等于”男“,就选中所对应的单选按钮 if(IsAddBed=="男"){ this.radioButton1.Checked=true; } //如果radioButton的内容等于”女“,就选中所对应的单选按钮 if(IsAddBed=="女"){ this.radioButton1.Checked=true; } }
添加(click事件)
第一步、获取值
//(获得文本框的值) stringTypeName=this.textBox2.Text; //(判断复选框是否选中)选中了给IsAddBed赋值为”是“,否则为”否“ stringIsAddBed=""; if(this.checkBox1.Checked) { IsAddBed="是"; }else{ IsAddBed="否"; } //(判断单选按钮是否选中)如果男性单选按钮选中了,给sex赋值为”男“,否则为”女“ stringsex=""; if(this.radioButton1.Checked) { sex="男"; } If(this.radioButton2.Checked){ sex="女"; } //(获取下拉框中选中的value值) stringindex=this.comboBox1.SelectedValue.ToString(); //(获得下拉框中选中的文本值) stringgender=this.comboBox1.text;
第二步、为空判断
if(TypeName==""||IsAddBed==""||sex==""||gender=="") { MessageBox.Show("信息填写不完整,请重新填写!"); //返回 return; }
第三步、定义sql语句
stringsql=string.Format("insertintoRoomTypevalues('{0}','{1}','{2}','{3}','{4}')",TypeName,TypePrice,AddBedPrice,IsAddBed,Remark);
第四步、调用dbhelper类增删改方法
intresult=DBHelper.Zsg(sql);
第五步、判断执行结果
if(result>0) { MessageBox.Show("添加成功!"); } else { MessageBox.Show("添加失败!"); }
修改(click事件)
第一步、获取值
//(获得文本框的值) stringTypeName=this.textBox2.Text; //(判断复选框是否选中)选中了给IsAddBed赋值为”是“,否则为”否“ stringIsAddBed=""; if(this.checkBox1.Checked) { IsAddBed="是"; }else{ IsAddBed="否"; } //(判断单选按钮是否选中)如果男性单选按钮选中了,给sex赋值为”男“,否则为”女“ stringsex=""; if(this.radioButton1.Checked) { sex="男"; } If(this.radioButton2.Checked){ sex="女"; } //(获取下拉框中选中的value值) stringindex=this.comboBox1.SelectedValue.ToString(); //(获得下拉框中选中的文本值) stringgender=this.comboBox1.text;
第二步、为空判断
if(TypeName==""||IsAddBed==""||sex==""||gender=="") { MessageBox.Show("信息填写不完整,请重新填写!"); //返回 return; }
第三步、定义sql语句(根据typeId修改)
//(typeID是全局变量,从DataGridView控件的cellClick事件中获取选中的隐藏的类型ID) stringsql=string.Format("updateRoomTypesetTypeName='{0}',TypePrice='{1}',AddBedPrice='{2}',IsAddBed='{3}',Remark='{4}'whereTypeID='{5}'",TypeName,TypePrice,AddBedPrice,IsAddBed,Remark,typeID); 第四步、调用dbhelper类增删改方法 intresult=DBHelper.Zsg(sql); 第五步、判断执行结果 if(result>0) { MessageBox.Show("修改成功!"); //这个是刷新DataGridView列表 stringsql1="select*fromRoomType"; DataTabledt=DBHelper.getDataTable(sql1); this.dataGridView1.DataSource=dt; } else { MessageBox.Show("修改失败!"); }
删除(Click事件)
//定义sql语句(typeID是全局变量,从DataGridView控件的cellClick事件中获取选中的隐藏的类型ID) stringsql=string.Format("deletefromRoomTypewhereTypeID='{0}'",typeID); //调用dbhelper类增删改方法 intresult=DBHelper.Zsg(sql); //判断执行结果 if(result>0) { MessageBox.Show("删除成功!"); //这个是刷新DataGridView列表 stringsql1="select*fromRoomType"; DataTabledt=DBHelper.getDataTable(sql1); this.dataGridView1.DataSource=dt; } else { MessageBox.Show("删除失败!"); }
点击关闭时再次确定是否关闭(FormClosing事件)
//弹出自定义对话框 DialogResultdr=MessageBox.Show("确定要关闭吗?","提示:",MessageBoxButtons.YesNo,MessageBoxIcon.Question); //判断用户点击哪个按钮 if(dr==DialogResult.Yes) { //如果用户选择了“是”,执行关闭 Application.Exit(); }else{ //如果用户选择了“否”,取消窗体关闭事件 e.Cancel=true; }
最后再来一个DBHelper类的笔记:
usingSystem; usingSystem.Collections.Generic; usingSystem.Data.SqlClient; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; namespaceGMP { classDBHelper { //数据库链接字符串 publicstaticstringConnString="server=.;database=;uid=;pwd="; //数据库链接对象 publicstaticSqlConnectionConn=null; //初始化数据库链接 publicstaticvoidInitConnection() { //如果链接对象不存在,则打开链接 if(Conn==null) { Conn=newSqlConnection(ConnString); } //如果链接对象关闭,则打开链接 if(Conn.State==System.Data.ConnectionState.Closed) { Conn.Open(); } //如果链接中断,则重启链接 if(Conn.State==System.Data.ConnectionState.Broken) { Conn.Close(); Conn.Open(); } } //查询,获取DataReader publicstaticSqlDataReaderGetDataReader(stringSqlStr) { InitConnection(); SqlCommandcmd=newSqlCommand(SqlStr,Conn); //CommandBehavior.CloseConnection命令行为,当DataReader对象被关闭时,自动关闭 //占用的链接对象 returncmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); } //增、删、改操作 publicstaticboolExecuteNonQuery(stringsqlStr) { InitConnection(); SqlCommandcmd=newSqlCommand(sqlStr,Conn); intresult=cmd.ExecuteNonQuery(); Conn.Close(); returnresult>0; } //执行集合函数 publicstaticobjectExecuteScalar(stringsqlStr) { InitConnection(); SqlCommandcmd=newSqlCommand(sqlStr,Conn); objectresult=cmd.ExecuteScalar(); Conn.Close(); returnresult; } } }
猜你还喜欢
- 05-13 [摄影] 让手机秒变单反的手机拍摄好物
- 05-11 [摄影] 想挣钱的摄影师建议收藏!
- 05-11 [美食] 选址秘籍:从摆摊到开小店,大数据地图助你找到理想店铺位置
- 05-04 [知识分享] 「科普」不知道电影资源那么长一大串名字是什么意思?看完这个你就明白了!
- 04-30 [摄影] 玩转手机摄影 | 滤镜手机支架
- 04-30 [经验] 摆地摊的八大禁忌
- 04-27 [绘画] 油画棒原创作品【绽放】图文教程来咯~
- 04-17 [涨姿势] 餐饮管理故事:对不起,我订错了雅间,怎么办?(附解决方案)
- 03-29 [摄影课堂] 电光火石间的决定
- 03-29 [摄影相关] UV镜不要随便将就
- 03-29 [摄影技巧] 抗光害滤镜 | 还原城市最美夜景 城市夜空的色彩救星!
- 03-29 [设计] 无边泳池是怎么设计的?以及它的原理介绍
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[文件传输] 【Android/IOS/Win】互传 EasyShare 3.6.5 零流量、极速、多平台快捷传输工具
[辅助下载] 4K高清壁纸图片批量下载工具2.0版本
[资料教程] 事业单位必刷题库
[技术课程] 【易锦】WEB渗透Hacker技术特训营(直播课第14期)
[课程] 轻松汽车摄影-全能课,最全汽车视频拍摄技巧(32节课)
[资料教程] 辣条制作配方及教程
[音乐] 低音炮车载340首
[课程] 夜鹰10分钟救命课(完结)
[资料] 寻道网道医精品视频课程集合15部
[资料课程] 适合3-7岁学前幼小衔接 《22天搞定拼音》,认、读、拼、写
[资料] [大学期末救急课] 猴博士+高斯课堂+斐多课堂,全集视频合集
[云资源] 价值2万元的老男孩Python教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[云资源] 花了一千多元买的私人健身教程
[下载工具] Internet Download Manager 6.42.7 (IDM)
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[安卓软件] 酷我音乐APP_v10.7.6.4 去广告破解豪华VIP版
[即时通讯] 微信PC版WeChat 3.9.9.43 多开防撤回绿色版
[安卓软件] Solid Explorer文件管理器APP 2.8.38 破解版
[浏览器] Google Chrome v123.0.6312.59便携增强版
[云资源] 价值2万元的老男孩Python教程
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[云资源] 花了一千多元买的私人健身教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[动画] 北斗神拳(1984) [两季合集] [MKV]
[资料] 抗战阵亡将士资料+续编
[电视剧] 三体 (2024) 全8集 网飞版本 中文字幕 合集
[纪录片] 河西走廊【10集 国语 中文字幕 1080P 10.8G MP4】
[电影] 2024年喜剧片·热辣滚烫 [mp4]
[影视] 铁爪 WEB-DL版下载 2023 The Iron Claw 23.48G
- 最新评论
-
杂物房内的旧档资源不保证有效CC下载站 评论于:05-14 不能**123 评论于:05-14 我想看看mw2ddyy 评论于:04-26 好东西阿zfy123123 评论于:04-18 谢谢楼主xiaoqi 评论于:04-12 勿在线解压,勿手机解压,请在电脑上用最新款压缩软件解压!推荐360压缩或者好压CC下载站 评论于:04-10 无法解压啊,客服能不能给个解压教程ravengrey 评论于:04-10 谢谢支持!!CC下载站 评论于:03-26 很棒的资源,感谢分享云体风身 评论于:03-26 感谢分享,好东西云体风身 评论于:03-26
- 热门tag