[每日一学] C# 可视化程序设计机试知识点汇总,DBhelper类代码
作者:精品下载站 日期:2020-06-05 00:00:00 浏览:80 分类:涨姿势
打开窗体
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; } } }
猜你还喜欢
- 02-18 [驾车常识] 这3种违章务必15天内处理,否则或面临罚金翻倍?这是真的吗?
- 02-18 [驾车常识] 等红灯时前车出毛病不动了,后车实线变道被记3分?交警会如何判罚你知道吗?
- 02-18 [驾车常识] 高速上这些“新路标”80%的车主看不懂,你是其中的25%的人吗?
- 02-18 [涨姿势] 开车被追尾,若对方全责,记得多说这3句话,或能多拿到几笔赔偿 ,知道了吗?
- 02-18 [驾车常识] 两车同时并线,发生事故到底谁负责?看完就懂了
- 12-14 [涨姿势] 古埃及神庙发现的可能是克利奥帕特拉七世的半身像
- 12-14 [涨姿势] 谷歌的新型量子芯片解决了最好的超级计算机需要宇宙年龄四万亿倍才能破解的问题
- 12-14 [涨姿势] 新研究揭示了古代“天空圆盘”是如何制造的,粉碎了它是赝品的说法
- 12-14 [涨姿势] 器官芯片显示,眼镜蛇毒液通过血管塌陷而致人死亡
- 12-14 [涨姿势] 2000年前的岩石艺术,包括近140英尺长的蛇,可能标志着哥伦比亚和委内瑞拉的古代领土
- 12-14 [涨姿势] 嵌入人类基因组中的“化石病毒”与精神疾病有关
- 12-14 [涨姿势] 美国最新一例人类 H5N1 禽流感病例是第一个引起呼吸道症状的病例
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag