美文网首页我的技术文章程序员
C#_ADO.NET_基础操作介绍

C#_ADO.NET_基础操作介绍

作者: 芭比哪吒 | 来源:发表于2018-08-10 15:48 被阅读14次

    ADO.NET

    数据库连接类 SqlConnection

    • Data Source=.;
    • Initial Catalog=myDataBase;
    • User Id=myUsername;
    • Password=myPassword;

    或者

    • Server=myServerAddress;
    • Database=myDataBase;
    • User Id=myUsername;
    • Password=myPassword;
    • Trusted_Connection=False;
    using (SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=sa;database=MyCar"))
    {
        //打开连接
        conn.Open();
        //将执行的sql
        String sql = "select COUNT(*) from Car";
        //创建命令对象,指定要执行sql语句与连接对象conn
        SqlCommand cmd = new SqlCommand(sql, conn);
        //执行查询返回单行单列的值,Object类型
        Object result = cmd.ExecuteScalar();
        //显示结果到标签
        lblCount.Text = result.ToString();
    }
    

    数据库操作类 SqlCommand

    1. ExecuteNonQuery()

    执行一个SQL语句

    返回受影响的行数

    这个方法主要用于执行对数据库执行增加、更新、删除操作

    注意查询的时候不是调用这个方法

    String sql =
    "INSERT INTO"+
    "Car([Title] ,[Speed] ,[Info])"+
    "VALUES(@Ttile,@Speed,@Info)";
    
    //创建命令对象,指定要执行sql语句与连接对象conn
    SqlCommand cmd = new SqlCommand(sql,conn);
    
    //指定参数
    cmd.Parameters.Add(new SqlParameter("@Ttile", txtTitle.Text));
    cmd.Parameters.Add(new SqlParameter("@Speed", txtSpeed.Text));
    cmd.Parameters.Add(new SqlParameter("@Info", txtInfo.Text));
    
    //执行,返回影响行数
    int rows=cmd.ExecuteNonQuery();
    

    2. ExecuteScalar()

    从数据库检索单个值

    这个方法主要用于统计操作

    ExecuteScalar()这个方法是针对SQL语句执行的结果是一行一列的结果集

    这个方法只返回查询结果集的第一行第一列。

    3. ExecuteReader()

    用于实现只进只读的高效数据查询。

    ExecuteReader:返回一个SqlDataReader对象

    可以通过这个对象来检查查询结果,它提供了只进只读的执行方式,即从结果中读取一行之后,移动到另一行,则前一行就无法再用。有一点要注意的是执行之后,要等到手动去调用Read()方法之后,DataReader对象才会移动到结果集的第一行,同时此方法也返回一个Bool值,表明下一行是否可用,返回True则可用,返回False则到达结果集末尾。

    使用DataReader可以提高执行效率,有两种方式可以提高代码的性能:

    一种是基于序号的查找

    一个是使用适当的Get方法来查找。

    可以通过定位列的位置来查找记录。

    GetOrdinal() 方法,此方法接收一个列名并返回此列名所在的列号.

    using (SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=sa;database=MyCar"))
    {
        conn.Open();
        String sql = "select Id,Title,Speed,Info from Car";
        SqlCommand cmd = new SqlCommand(sql, conn);
        SqlDataReader sdr = cmd.ExecuteReader();
        
        //下移游标,读取一行,如果没有数据了则返回false
        while (sdr.Read())
        {
            Console.WriteLine("编号:" 
            + sdr["Id"] 
            + ",车名:" 
            + sdr["Title"] 
            + ",速度:" 
            + sdr["Speed"]);
        }
    }
    

    相关文章

      网友评论

        本文标题:C#_ADO.NET_基础操作介绍

        本文链接:https://www.haomeiwen.com/subject/doxlbftx.html