zoukankan      html  css  js  c++  java
  • ADO.NET基础学习 二(Command对象)

    ②command对象用来操作数据库。(三个重要的方法:ExecuteNonQuery(),ExecuteReader(),ExecuteScalar())

    ⑴以update(改数据)为例,用到ExecuteNonQuery()方法(执行SQL语句,返回受影响行)

    private void button2_Click(object sender, EventArgs e)
            {
                    SqlConnection conn =new SqlConnection("server=.;Initial catalog=db_PWMS;integrated security=SSPI");
                    conn.Open();//老规矩,先连接
                try
                {
                    SqlCommand cmd = new SqlCommand();//实例操作项cmd
                    cmd.Connection = conn;//操作conn这个数据库
                    cmd.CommandText = "update Table_1 set Prices =3333 where Origin ='国产'";//操作这样一句SQL语句
                    cmd.CommandType = CommandType.Text;//书上这么写的,不知道干嘛的,以后知道了再说。去掉这句话也没事。
                    cmd.ExecuteNonQuery();//command对象重要的三个方法之一,执行增删改
                    int i = Convert.ToInt32(cmd.ExecuteNonQuery());
                    label2.Text = i + "条数据发生改动";
                }
                catch (Exception ex){ MessageBox.Show(ex.Message); }
            }

    点击事件(button2)

    执行前数据库

     

    执行后

     ⑵以各种姿势查数据ExecuteScalar()方法(执行SQL语句,返回结果集中第一行第一列),但此方法通常与聚合函数一起使用

    此方法的聚合函数

      说明
    AVG() 平均值
    count(列名)/count(*) 此列值的计数(不包括空值)/此表所有行的计数(包括空值)
    max() 最大值
    min() 最小值
    sum()

    以count()和max()为例

    private void button3_Click(object sender, EventArgs e)
            {
                conn = new SqlConnection("server=.;Initial catalog=db_PWMS;integrated security=SSPI");
                conn.Open();
                try
                {
                    string s1 = "select count (*) from Table_1";//表数量count()
                    string s2 = "select max (Prices) from Table_1";//Prices最大值max()
    
                    SqlCommand cmd = new SqlCommand(s1,conn);
                    SqlCommand cmd1 = new SqlCommand(s2,conn);
                    int i = Convert.ToInt32(cmd.ExecuteScalar());//对象转int类型
                    int j = Convert.ToInt32(cmd1.ExecuteScalar());
    
                    label2.Text = i+"条数据";
                    label1.Text = "最贵的" + j;
                }
                catch (Exception ex){ MessageBox.Show(ex.Message); }
            }

    ExecuteReader()方法(执行SQL语句,生成一个SqlDataReader对象的实例,返回 一个SqlDataReader对象)

    private void button5_Click(object sender, EventArgs e)
            {
                SqlConnection conn = new SqlConnection("server=.;Initial catalog=db_PWMS;integrated security=SSPI");
                conn.Open();//连接并打开
                SqlCommand cmd = new SqlCommand("select * from Table_1",conn);//操作
                SqlDataReader sdr = cmd.ExecuteReader();//ExecuteReader方法实例化个SqlDataReader对象
                while (sdr.Read())//SqlDataReader的Read()方法 循环读取数据
                {
                    label3.Text += sdr[1].ToString();//读取第一列
                    listView1.Items.Add(sdr[2].ToString());//读取第二列
                }
            }

  • 相关阅读:
    线程生命周期
    java集合源码分析几篇文章
    Java中的equals和hashCode方法详解
    java集合(一)
    volatile和synchronized实现内存可见性的区别
    动态代理的原理
    过滤器的使用
    pageBean的实体类
    FindUserByPageServlet
    用户信息系统_serviceImpl
  • 原文地址:https://www.cnblogs.com/zx3180/p/9121204.html
Copyright © 2011-2022 走看看