数据库返回方法笔记

ExecuteNonQuery()   

此方法通常情况下为数据库事务处理的首选,当需要执行插入、删除、修改(不能执行查询)等操作时,首选的就是ExecuteNonQuery()方法,该方法执行成功返回的是一受影响的行数,对于创建表(Create Table)和删除表(Drop Table)语句,返回值是0,而对于其他类型的语句,返回值是-1,因此在使用ExecuteNonQuery()操作数据时,可以不使用DataSet直接更改数据库中的数据。

返回受影响的行数

ExecuteScalar()

此方法与ExecuteNonQuery()方法并不同,ExecuteNonQuery()方法操作后返回的是一个值,而ExecuteScalar()方法返回的是一个对象,ExecuteScalar()方法的返回值的数据类型是object,如果执行的SQL语句是查询语句,则返回结果是查询后的第一行第一列,如果执行的SQL语句不是一个查询语句,则会返回一个未实例化的对象,必须通过类型装换类显示。


ExecuteReader()

通常情况下是使用该方法进行数据查询操作,使用ExecuteReader()查询数据能够提升查询效率,但是如果需要进行数据库事务处理的话,ExecuteReader()并不是一个理想的选择。

DataSet数据集插入记录,更新数据

使用Datase对象可以完成数据插入,为了将数据库的数据填充到datase中,则必须先使用adapter对象的方法实现填充,当数据填充完成后,开发人员可以将记录添加到dataset对象中,然后使用update方法将数据插入到数据库中。

分页查询

亲测OK 没问题

        private static string ConnectionString = "Data Source=.;Initial Catalog=MISDB;User ID=sa;Password=123456";
        DataTable data = new DataTable();
        public Form1()
        {
            InitializeComponent();
            data=MethodTwo(2,10);
            Console.ReadKey();
        }
        private DataTable MethodTwo(int pageIndex, int pageNumber)
        {
            string sql = "select * from [Department] order by DepartmentId offset (@pageIndex-1)*@pageNumber rows fetch next @pageNumber rows only";
            SqlParameter[] parameters = new SqlParameter[]
                {
                    new SqlParameter("@pageIndex", pageIndex),
                    new SqlParameter("@PageNumber", pageNumber)
                };
            using (SqlDataAdapter adapter = new SqlDataAdapter(sql, ConnectionString))
            {
                adapter.SelectCommand.Parameters.AddRange(parameters);
                DataTable dataTable = new DataTable();
                adapter.Fill(dataTable);
                adapter.SelectCommand.Parameters.Clear();
                return dataTable;
            }

        }

private DataTable MethodTwo(int pageIndex, int pageNumber)

pageIndex    第几页

pageNumber   取几个数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山林恩泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值