编号、人数、姓名、性别、请输入要询问的音信,在姓名TextBox文本框中、性别TextBox文本框中澳门黄冠娱乐备用网址

C\

C\

付出环境:

开发条件:

VisualStudio2015

VisualStudio2015

数据库:

数据库:

SQLserver2008

SQLserver2008

先后主界面:

 澳门黄冠娱乐备用网址 1

次第主界面:

 澳门黄冠娱乐备用网址 2

注释:

注释:

lbl标签:

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

先后中的lbl标签:编号前边的0,他起到了同步表中当选人士的id(编号)
人数前面的0,他的效应是每日更新表中总人数,他们的命名要正规,后边的代码才能编写更有益于。

lbl标签:

程序中的lbl标签:编号、人数、姓名、性别、请输入要询问的信息,这里他们只起到了注明效益,所有命名一般为默认,只修改Text文本。

程序中的lbl标签:编号前边的0,他起到了同步表中当选人员的id(编号)
人数后边的0,他的效果是随时更新表中总人数,他们的命名要规范,前面的代码才能编写更便利。

按钮:

次第中的btn按钮:保存、重置、退出、添加、查询,要想实现他们的效能,就得双击他们接下来在其中打上代码,才能加之他们效能,这里要专注按钮的命名规范。

按钮:

程序中的btn按钮:保存、重置、退出、添加、查询,要想实现他们的功力,就得双击他们接下来在中间打上代码,才能给予他们功能,这里要小心按钮的命名规范。

封存按钮功效:

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

保留按钮功用:

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

运行图:

澳门黄冠娱乐备用网址 3

 

运行图:

澳门黄冠娱乐备用网址 4

 

保留按钮代码:

                if (checkinput())
                {
                using (SqlConnection con = new SqlConnection(conStr))
                {
                    con.Open();
                    string sql = "insert B(name,sex) values  (@name,@sex)";
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                    cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                    int fh = cmd.ExecuteNonQuery();
                    if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    sj();
                    rs();
                }
            }

这里调用了检测输入的完整性方法:checkinput,要是姓名TextBox文本框或性别TextBox文本框中,姓名没输入,程序会提醒请输入人名,性别没输入,程序会提醒请输入性别。

封存按钮代码:

                if (checkinput())
                {
                using (SqlConnection con = new SqlConnection(conStr))
                {
                    con.Open();
                    string sql = "insert B(name,sex) values  (@name,@sex)";
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                    cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                    int fh = cmd.ExecuteNonQuery();
                    if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    sj();
                    rs();
                }
            }

这里调用了检测输入的完整性方法:checkinput,就算姓名TextBox文本框或性别TextBox文本框中,姓名没输入,程序会提醒请输入姓名,性别没输入,程序会指示请输入性别。

检测输入的完整性方法代码:

            private bool checkinput()
            {
            if (txtname.Text == null || txtname.Text == "")
            {
                MessageBox.Show("请输入姓名", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtname.Focus();
                return false;
            }
            if (txtsex.Text == null || txtsex.Text == "")
            {
                MessageBox.Show("请输入性别", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtsex.Focus();
                return false;
            }
            return true;
        }

检测输入的完整性方法代码:

            private bool checkinput()
            {
            if (txtname.Text == null || txtname.Text == "")
            {
                MessageBox.Show("请输入姓名", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtname.Focus();
                return false;
            }
            if (txtsex.Text == null || txtsex.Text == "")
            {
                MessageBox.Show("请输入性别", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtsex.Focus();
                return false;
            }
            return true;
        }

音讯输入不完全运作效果图:

澳门黄冠娱乐备用网址 5

澳门黄冠娱乐备用网址 6

保存按钮的代码里还调用了,sj();rs();这三个格局,sj();这么些点子起到了刷新添加人士的信息到DGV表格中,rs();这么些措施起到了翻新lbl人数标签前边的多寡功用,更新了总人数的数据音讯。

信息输入不完全运作效果图:

澳门黄冠娱乐备用网址 7

澳门黄冠娱乐备用网址 8

保存按钮的代码里还调用了,sj();rs();这两个法子,sj();这些格局起到了刷新添加人士的音讯到DGV表格中,rs();那些方法起到了翻新lbl人数标签后边的数码功用,更新了总人数的数额音信。

新加一个人士运行图:

澳门黄冠娱乐备用网址 9

新闻输入完整添加事业有成,我们看人数后边的数字是:12,当自己按确定之后,神奇的业务就发生了!

澳门黄冠娱乐备用网址 10

人口后边的数字12成为了13,那里就是因为保存按钮里调用了,rs();那些措施所以才有革新数据的法力

新加一个人手运行图:

澳门黄冠娱乐备用网址 11

音讯输入完整添加事业有成,我们看人数前边的数字是:12,当我按确定今后,神奇的工作就发出了!

澳门黄冠娱乐备用网址 12

人口前面的数字12改为了13,这里就是因为保存按钮里调用了,rs();这一个法子所以才有革新数据的效能

rs();方法的代码:

            private void rs()
           {
            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=sa;database=YG"))
            {
                con.Open();
                string sql = "select count(*)from B";
                SqlCommand cmd = new SqlCommand(sql, con);
                object cx = cmd.ExecuteScalar();
                //lblRS.Text = cx.ToString(); 将查询到的结果同步标签
                lblrs.Text = cx.ToString(); //将查询到的结果同步到lbl标签
            }
        }

rs();方法的代码:

            private void rs()
           {
            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=sa;database=YG"))
            {
                con.Open();
                string sql = "select count(*)from B";
                SqlCommand cmd = new SqlCommand(sql, con);
                object cx = cmd.ExecuteScalar();
                //lblRS.Text = cx.ToString(); 将查询到的结果同步标签
                lblrs.Text = cx.ToString(); //将查询到的结果同步到lbl标签
            }
        }

新保存的人手数量,顿时就能在DGV表格中找到:

澳门黄冠娱乐备用网址 13

这是因为保存按钮代码里调用了,sj();这多少个办法,将新保存的人口信息更新到了DGV表格中。

新保存的人员数量,立时就能在DGV表格中找到:

澳门黄冠娱乐备用网址 14

这是因为保存按钮代码里调用了,sj();那些法子,将新保存的人手新闻更新到了DGV表格中。

sj();方法的代码:

            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();方法的代码:

            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表的数据来源
        }

保留按钮代码:

                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总人数的数据
                }
            }

保存按钮代码:

                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总人数的数据
                }
            }

 SqlCommand对象的五个格局:

 SqlCommand对象的多少个方法:

ExcuteScalar():

其一措施只回去查询结果集的首先行第一列

ExcuteScalar():

本条情势只回去查询结果集的第一行第一列

ExcuteNonQuery():

执行一个SQL语句,再次来到受影响的行数,这多少个点子首要用以执行对数据库执行扩展、修改、删除操作

ExcuteNonQuery():

进行一个SQL语句,重临受影响的行数,这么些格局主要用来实施对数据库执行扩展、修改、删除操作

ExcuteReader():

查询多行多列

ExcuteReader():

询问多行多列

重置按钮的代码:

 

            lblid.Text = "0";//lbl文本默认为0
            txtname.Clear();//将Text文本框的内容清空
            txtsex.Clear();//将Text文本框的内容清空
            txtname.Focus();//设置焦点

 

重置按钮的代码:

 

            lblid.Text = "0";//lbl文本默认为0
            txtname.Clear();//将Text文本框的内容清空
            txtsex.Clear();//将Text文本框的内容清空
            txtname.Focus();//设置焦点

 

运行图:

澳门黄冠娱乐备用网址 15

输入好音信后,点击重置按钮就会清空输入的音讯

澳门黄冠娱乐备用网址 16

运行图:

澳门黄冠娱乐备用网址 17

输入好音讯后,点击重置按钮就会清空输入的音信

澳门黄冠娱乐备用网址 18

 退出按钮的代码:

  Application.Exit();

点击退出后,程序就会被关门。

 退出按钮的代码:

  Application.Exit();

点击退出后,程序就会被关闭。

累加按钮代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.ShowDialog();//以对话框模式弹出
            sj();//调用sj();这个方法来更新添加的人员数据到DGV表格中

这里充足按钮的效用跟保存按钮的职能是相近的,目标都是为了抬高人士数量,只可是我们在此地做了一些代码知识的扩张。

增长按钮代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.ShowDialog();//以对话框模式弹出
            sj();//调用sj();这个方法来更新添加的人员数据到DGV表格中

此地丰硕按钮的效率跟保存按钮的效应是相近的,目标都是为了充裕人员数量,只可是咱们在此处做了好几代码知识的增加。

运行图:

澳门黄冠娱乐备用网址 19

输入的信息不完全的话,会唤起请输入完整的音讯,这里也得写一个检测输入完整性的艺术,消息输入完整后就足以点击保存了,保存按钮的代码和下面的类似,点击再次回到按钮后当前窗体就会关闭再次来到到人士管理主界面。

运行图:

澳门黄冠娱乐备用网址 20

输入的信息不完整的话,会指示请输入完整的音信,这里也得写一个检测输入完整性的章程,信息输入完整后就足以点击保存了,保存按钮的代码和地方的接近,点击再次来到按钮后当前窗体就会关闭再次来到到人口管理主界面。

将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表格中的数据。

将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表格中的数据。

询问按钮代码:

            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表的数据来源

查询按钮代码:

            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表的数据来源

运行图:

澳门黄冠娱乐备用网址 21

在TextBox文本框中,依照姓查询那里输入了一个:刘
 DGV表格中就会显得所有姓刘的人口音讯

运行图:

澳门黄冠娱乐备用网址 22

在TextBox文本框中,按照姓查询这里输入了一个:刘
 DGV表格中就会来得所有姓刘的人士音信

运行图:

澳门黄冠娱乐备用网址 23

在TextBox文本框中,依据性别查询那里输入了一个:男
DGV表格中显示了具有性别为男的音讯。

运行图:

澳门黄冠娱乐备用网址 24

在TextBox文本框中,依据性别查询这里输入了一个:男
DGV表格中展现了有着性别为男的消息。

 那么功效都差不多快到家了,我们会发觉有了增产,却少了除去跟修改的功力!!!

 那么效能都差不多快到家了,我们会发现有了增产,却少了去除跟修改的效应!!!

运行图:

澳门黄冠娱乐备用网址 25

 

在此处我们可以在DGV表格里加一个上下文菜单,来实现修改和删除的机能。

运行图:

澳门黄冠娱乐备用网址 26

 

在此间我们得以在DGV表格里加一个上下文菜单,来促成修改和删除的功用。

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

            添加人员 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();//以对话框模式弹出

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

            添加人员 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();//以对话框模式弹出

 运行图:

澳门黄冠娱乐备用网址 27

修改人口的窗体与点击添加按钮弹出的窗体是同一个窗体,这里只不过是用代码修改了窗体的Text文本而已,DGV表中选中的多少也一块儿到了修改人口窗体对应的Text文本框中,在这里大家只需要一贯改动那么些要修改的地点就KO了。

 运行图:

澳门黄冠娱乐备用网址 28

修改人口的窗体与点击添加按钮弹出的窗体是同一个窗体,这里只可是是用代码修改了窗体的Text文本而已,DGV表中当选的数量也一路到了改动人口窗体对应的Text文本框中,在此处我们只需要直接改动那一个要修改的地方就KO了。

运行图:

澳门黄冠娱乐备用网址 29

运行图:

澳门黄冠娱乐备用网址 30

修改人口窗体中保存按钮代码:

                    if (checkinput())
                    {
                    if (this.Text == "添加人员")
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        string sql = "insert B(name,sex) values  (@name,@sex)";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                    }
                    else
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        //update<修改对象所在表> set < 修改对象 >=< 值 > where < 条件对象 >=< '条件内容' >
                       string sql = "update B set name=@name,sex=@sex where id=@id";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@id", this.Tag.ToString()));
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("修改成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                }
            }

修改人口中的保存按钮代码,跟点击添加按钮弹出的窗体中保留按钮代码一致,逻辑可能一时不便精晓,多看几回就熟能生巧了!

修改人口窗体中保留按钮代码:

                    if (checkinput())
                    {
                    if (this.Text == "添加人员")
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        string sql = "insert B(name,sex) values  (@name,@sex)";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                    }
                    else
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        //update<修改对象所在表> set < 修改对象 >=< 值 > where < 条件对象 >=< '条件内容' >
                       string sql = "update B set name=@name,sex=@sex where id=@id";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@id", this.Tag.ToString()));
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("修改成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                }
            }

修改人口中的保存按钮代码,跟点击添加按钮弹出的窗体中保存按钮代码一致,逻辑可能一时难以了然,多看两回就熟能生巧了!

右键菜单中剔除按钮的代码:

                   if (dataGridView1.SelectedRows.Count > 0)
                   {
                   string xz = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();
                   using (SqlConnection con = new SqlConnection(conStr))
                   {
                    con.Open();
                    string sql = string.Format("delete from B where id='{0}'", xz);
                    SqlCommand cmd = new SqlCommand(sql, con);
                    int fh = cmd.ExecuteNonQuery();
                    if (fh > 0)
                    {
                        MessageBox.Show("删除成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        sj();
                        rs();
                    }
                    else
                    {
                        MessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        sj();
                        rs();
                    }
                }

增、删、改、查,的代码流程都大致相同:首先制造连接对象指定连接字符串,打开连接、sql语句在数据库里要做怎么着操作(增、删、改、查)、然后创设Command命令对象连接数据库并实施sql语句,定义一个变量来接收模式的重临值,增、删、改操作时,调用ExecuteNonQuer这个点子,查询操作时,一般调用的是ExcuteReader这一个主意,要做的操作不同,调用的点子也会不同,定义变量时也得定义匹配那些艺术的变量。

右键菜单中除去按钮的代码:

                   if (dataGridView1.SelectedRows.Count > 0)
                   {
                   string xz = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();
                   using (SqlConnection con = new SqlConnection(conStr))
                   {
                    con.Open();
                    string sql = string.Format("delete from B where id='{0}'", xz);
                    SqlCommand cmd = new SqlCommand(sql, con);
                    int fh = cmd.ExecuteNonQuery();
                    if (fh > 0)
                    {
                        MessageBox.Show("删除成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        sj();
                        rs();
                    }
                    else
                    {
                        MessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        sj();
                        rs();
                    }
                }

增、删、改、查,的代码流程都大致相同:首先创立连接对象指定连接字符串,打开连接、sql语句在数据库里要做什么操作(增、删、改、查)、然后创制Command命令对象连接数据库并施行sql语句,定义一个变量来接过模式的重回值,增、删、改操作时,调用ExecuteNonQuer这个主意,查询操作时,一般调用的是ExcuteReader这一个措施,要做的操作不同,调用的不二法门也会不同,定义变量时也得定义匹配那多少个模式的变量。

运行图:

澳门黄冠娱乐备用网址 31

澳门黄冠娱乐备用网址 32

运行图:

澳门黄冠娱乐备用网址 33

澳门黄冠娱乐备用网址 34

一个简约的次第案例就讲解完了,写那篇博客也不求什么便宜,只是梦想能带给初学者一个启发意义,也许多年从此学了多门语言的亲善,连最初的C#编程语言结构逻辑思考全都忘光了,还足以在博客上回顾一下,只要你直接在。

一个简约的主次案例就讲解完了,写这篇博客也不求什么好处,只是梦想能带给初学者一个启示成效,也许多年以后学了多门语言的和睦,连最初的C#编程语言结构逻辑思考全都忘光了,还可以够在博客上回顾一下,只要您一贯在。

相关文章