WinFrom开垦小案例

奥门永利402com 1

第一题
某班学生和考试成绩新闻如下表Student所示:
Student表
ID SName Mark
1 Jack 90
2 Marry 96
3 Rose 88
4 Bob 86
5 John 83
6 Belty 85
7 Robert
内部ID为学习者的号子,SName为真名,Mark为成绩,请针对以下难题,写出相应的SQL:
CREATE TABLE student(id tinyint unsigned primary key
auto_increment,snamevarchar(10) not null,mark decimal(4,1));
1、 请查询成绩超乎85分的上学的儿童的人名;
SELECT sname FROM student WHERE mark > 85;
2、 请查询战表超乎等于90分的总人口;
SELECT count(id) FROM student WHERE mark >= 90;
3、 罗Bert此次考试考了80分,但是成绩未能录入表中,请将其成就增多进去;
UPDATE student SET mark = 80 WHERE id = 7;
4、 请将罗斯的成绩修改为87.5;
UPDATE student SET mark = 87.5 WHERE id = 3;
5、 请删除Belty的记录;
DELETE FROM student WHERE id = 6;
6、 查询分数在83和90里边的学生名字
SELECT sname FROM student WHERE mark >= 83 and mark <= 90;
SELECT sname FROM student WHERE mark between 83 and 90;
7、 查询首字母为J的学员姓名
SELECT sname FROM student WHERE sname like ‘J%’;
8、 查询学习最佳的上学的小孩子姓名和实际业绩
SELECT sname,max(mark),mark FROM student;
第二题
 现存关全面据库如下:
同学表(学号char(6)、姓名、性别、年龄、名族、居民身份证号、宿舍号)
宿舍表(宿舍号char(6)、宿舍电话)
用SQL语言达成下列功用的sql语句代码:
1、 成立数据表[宿舍表]代码:
宿舍表(宿舍号char(6)、宿舍电话)
渴求选用:主键(宿舍号)
CREATE TABLE dormitory(did char(6) primary key,telvarchar(13));
2、 创立数据表[同学表]代码:
同学表(学号char(6)、姓名、性别、年龄、民族、身份ID号、宿舍号)
务求使用:主键(学号)、外键(宿舍号)、暗中同意(侗族)、非空(民族、姓名、年龄)、独一(身份证号)
CREATE TABLE student1(sid char(6) primary key,snamevarchar(10) not
null,sexenum(‘男’,’女’,’保密’),age tinyint unsigned not
null,nationalityvarchar(10) not null default ‘汉族’,cidvarchar(18)
unique,ssid char(6),foreign key(ssid) references dormitory(did) on
delete cascade on update cascade);
3、 将下列宿舍信心增多到宿舍表的代码
宿舍号 宿舍电话
101 6331157
102 6331777
1)、修改:宿舍号为101的宿舍电话:6331158
UPDATE dormitory SET tel = ‘6331158’ WHERE did = ‘101’;
2)、删除:宿舍号为102的宿舍音讯
DELETE FROM dormitory WHERE did = ‘102’;
第三题

依据要求编辑SQL语句,设有二个数额表Store_Information,用于存款和储蓄二零一零年某连锁商铺内地分集团的每月营业额音信,片段如下:
奥门永利402com,sName Sales sDate
北京店 15000 2009-6-10
天津店 2500 2009-6-10
北京店 3000 2009-6-10
温尼伯店 8000 2009-6-11
1)、创立该表,全体字段均不足为空
CREATE TABLE store_information(snamevarchar(10) not null,sales
decimal(8,2) not null,sdate date not null);
2)、修改表结构,增添一列可感到空的备考新闻:Memo
3)、将持有子公司名称均由”某某店”改成”某某分店”,改后有的如下
sName Sales sDate Memo
京城支店 1伍仟 2010-6-10
安特卫普分店 2500 2010-6-10
法国巴黎市支行 两千 2008-6-10
瓦伦西亚支店 九千 2010-6-11
UPDATE store_information SET sname = ‘新加坡分行’ WHERE sname =
‘东方之珠店’;
UPDATE store_information SET sname =replace(sname,’店’,’分店’);
4)、查询各分行的平均日营业额
SELECT sname,round(avg(sales)/30,2) FROM store_information GROUP BY
sname;
5)、查询哪些分店的营业总额超过了一九〇四0
SELECT sname,sum(sales) FROM store_information GROUP BY sname HAVING
sum(sales) > 17000;

VisualStudio2015

奥门永利402com 2

新加一位员运维图:

奥门永利402com 3

音信输入完整增多职业有成,咱们看人数前边的数字是:12,当自家按鲜明之后,奇妙的事体就生出了!

奥门永利402com 4

人数后边的数字12形成了13,这里正是因为保存按键里调用了,rs();那些艺术所以才有创新数据的遵循

第二张表:主表,民族代码加称呼

注释:

效用显示:

消息输入不完整运作效果图:

奥门永利402com 5

奥门永利402com 6

保存按钮的代码里还调用了,sj();rs();那五个措施,sj();那么些法子起到了刷新扩充人士的新闻到DGV表格中,rs();这一个主意起到了更新lbl人数标签前面包车型地铁数量功用,更新了总人数的数目音讯。

删除:

lbl标签:

次第中的lbl标签:编号、人数、姓名、性别、请输入要询问的音讯,这里他们只起到了认证效益,全体命名一般为默许,只修改Text文本。

前后相继中的lbl标签:编号前边的0,他起到了同步表中选中人员的id(编号)
人数后边的0,他的作用是随时更新表中总人数,他们的命名要正规,前边的代码本领编写更便于。

 

保存开关成效:

程序运转时,在姓名TextBox文本框中、性别TextBox文本框中,分别输入人士的真名、性别,然后按保存开关,人士的音讯就被存到了数据库中。

 

将SQL数据库中的数据读取到程序的DGV表格中代码:

            private void sj()
            {
            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            string sql = "select*from B";//sql查询语句
            SqlDataAdapter cx = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            DataTable ta = new DataTable();//创建表对象
            cx.Fill(ta);//将查询的内容填充到表对象
            dataGridView1.DataSource = ta;//设置DGV表的数据来源
        }

实则这几个办法在头里就曾经冒出过了,当大家新添一位口的时候,就得调用sj();这些艺术来更新DGV表格中的数据。

 

运行图:

奥门永利402com 7

输入的音讯不完整的话,会唤起请输入完整的音信,这里也得写一个检验输入完整性的办法,消息输入完整后就足以点击保存了,保存按键的代码和地点的临近,点击再次回到开关后当前窗体就能够破产重返到人口管理主分界面。

 代码部分:

 运行图:

奥门永利402com 8

修改人口的窗体与点击增多按键弹出的窗体是同一个窗体,这里只不过是用代码修改了窗体的Text文本而已,DGV表中当选的数码也五头到了更动人口窗体对应的Text文本框中,在此处大家只供给直接修改那么些要修改的地方就KO了。

奥门永利402com 9

新保存的人士数量,立即就能够在DGV表格中找到:

奥门永利402com 10

那是因为保存开关代码里调用了,sj();那几个方法,将新保存的人手消息更新到了DGV表格中。

表的操作

询问按键代码:

            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            //string sql = "select * from B where name like '%"+ txtcx.Text + "%'";
            string sql = string.Format("select*from B where name like'%{0}%' or sex like'%{1}%' or id like'%{2}%'",txtcx.Text,txtcx.Text,txtcx.Text);//SQL语句根据TextBox输入的查询条件进行模糊查询
            DataTable b1 = new DataTable();//创建表对象
            SqlDataAdapter cx1 = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            cx1.Fill(b1);//将查询的内容填充到表对象
            dataGridView1.DataSource = b1;//设置DGV表的数据来源

奥门永利402com 11

保留开关代码:

                if (checkinput())//调用检测输入的完整性方法
                {
                using (SqlConnection con = new SqlConnection(conStr))//创建连接对象,指定连接字符串
                {
                    con.Open();//打开连接
                    string sql = "insert B(name,sex) values  (@name,@sex)";//SQL语句,在数据库里要执行的操作
                    SqlCommand cmd = new SqlCommand(sql, con);//Cmand命名对象执行操作
                    cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));//指定参数跟对应的数据匹配
                    cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));//指定参数跟对应的数据匹配
                    int fh = cmd.ExecuteNonQuery();//ExecuteNonQuery(),这个方法在执行增、删、改的时候就调用它
                    if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    sj();//调用这个方法更新DGV表格中的数据
                    rs();//调用这个方法更行lbl总人数的数据
                }
            }

 主页:

ExcuteReader():

查询多行多列

能够查询姓名;民族;姓名+民族;都以空的询问任何

右键菜单中期维修改按键的代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.Text = "修改人员";//将添加人员的窗体Text文本修改为“修改人员”
            a.Tag = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();//将选中的数据传递给修改人员窗体
            a.txtname.Text = dataGridView1.SelectedRows[0].Cells["name"].Value.ToString();//DGV表中选中的人员名字传递到修改人员窗体
            a.txtsex.Text = dataGridView1.SelectedRows[0].Cells["sex"].Value.ToString();///DGV表中选中的人员性别传递到修改人员窗体
            a.ShowDialog();//以对话框模式弹出

 添加

运行图:

奥门永利402com 12

相关文章