C#成魔之路<6>ADO.NET数据访问技术(2)

1、读取数据:DataReader对象
在使用Command对象执行完SQL命令后,若需要从返回的结果集中读取数据,可以使用DataReader对象。

(1)DataReader对象详述
DataReader是数据读取器对象,提供只读向前的游标,如果应用程序需要每次从数据库中取出最新的数据,或者只是需要快速读取数据,并不需要修改数据,那么就可以使用DataReader对象进行读取。对于不同的数据库连接,有不同的DataReader类型,具体如下:
在System.Data.SqlClient命名空间下时,可以调用SqlDataReader类。
在System.Data.OleDb命名空间下时,可以调用OleDbDataReader类。
在System.Data.Odbc命名空间下时,可以调用OdbcDataReade类。
在System.Data.Oracle命名空间下,可以调用OracleDataReader类。
在使用DataReader对象读取数据的时候,可以调用Command对象的ExecuteReader方法,根据SQL语句的结果创建一个DataReader对象。

示例程序:

conn = new SqlConnection("server= ;database= ;uid= ;pwd= ");
            conn.Open();//打开数据库
            SqlCommand sqlCmd = new SqlCommand();//创建数据库command
            sqlCmd.Connection = conn;//创建连接
            sqlCmd.CommandText = " from tb_command";//设置SQL语句
            sqlCmd.CommandType = CommandType.Text;//设置其type格式
            SqlDataReader sdr = sqlCmd.ExecuteReader();//注意利用该方法进行datareader的创建
            //若要创建SqlDataReader,必须调用SqlCommand对象的ExecuteReader方法。

(2)判断查询结果中是否有值

可以通过SqlDataReader对象的HasRows属性获取一个值,该值指示SqlDataReader是否包含一行或者多行,即判断检查结果中是否有值。

public override bool HasRows{
  get;}
//如果sqlDataReader包含一行或者多行,则属性值为true,否则为false。

示例程序:

 private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                SqlConnection sqlConn = new SqlConnection("server= ;database= ;uid= ;pwd=  ");
                sqlConn.Open();
                SqlCommand sqlCmd = new SqlCommand("select*from " + textBox1.Text.Trim(), sqlConn);
                SqlDataReader sdr = sqlCmd.ExecuteReader();
                sdr.Read();
                if (sdr.HasRows)
                {
                    MessageBox.Show("表中有值");
                }
                else
                {
                    MessageBox.Show("表中无值");
                }
            }
            catch(Exception ex) 
            {
                MessageBox.Show(ex.Message);
            }
        }

(3)读取数据
如果要读取数据表中的数据࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值