a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

c#中executereader執行查詢示例分享

2020-01-24 02:43:47
字體:
來源:轉載
供稿:網友

ExecuteReader執行查詢實例

ExecuteReader方法存在的目的只有一個:盡可能快地對數據庫進行查詢并得到結果。ExecuteReader 返回一個DataReader對象:如果在SqlCommand對象中調用,則返回SqlDataReader;如果在OleDbCommand對象中調用,返回的是OleDbDataReader??梢哉{用DataReader的方法和屬性迭代處理結果集。它是一個快速枚舉數據庫查詢結果的機制,是只讀、只進的。對SqlDataReader.Read的每次調用都會從結果集中返回一行。

復制代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;

namespace ExecuteReader執行查詢
{
    /// <summary>
    /// Window1.xaml 的交互邏輯
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MyTest;User Id=sa;Password=123;"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from T_Student where Age<100";
                    using (SqlDataReader reader = cmd.ExecuteReader())//ExecuteReader返回的對象類型是SqlDataReader
                    {
                           //Read是bool類型,初始指針指向第一條數據之前,每調用一次reader,指針就下移一條,只要沒有移到最后一條之后,就返回true。
                        while (reader.Read())
                        {
                            string name = reader.GetString(1);//GetString(1)得到表中第一列的值,用name接收,因為查的是*,所以就和表中的列數一樣。
                            int age = reader.GetInt32(2);
                            MessageBox.Show(name+","+age);
                        }
                    }
                }
            }
        }

        private void btnQuery_Click(object sender, RoutedEventArgs e)
        {
            using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MyTest;User Id=sa;Password=123;"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    //cmd.CommandText = "select age from T_Student where name='"+ txtName.Text +"'";//字符串拼接查找數據庫。
                    cmd.CommandText = "select age from T_Student where name=@name or age>@age";//與數據庫進行數據對比。
                    //@參數:不能用來替換表名,字段名,select之類的關鍵字等。
                    cmd.Parameters.Add(new SqlParameter("@name",txtName.Text));
                    cmd.Parameters.Add(new SqlParameter("@age",Convert.ToInt32(txtAge.Text)));
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            //GetInt32獲得的是int類型
                            //GetInt64獲得的是long類型(bigint)
                            int age = reader.GetInt32(0);//GetInt32(0)中的參數是看cmd.CommandText中的查詢結果有幾個。
                            MessageBox.Show(age.ToString());
                        }
                    }
                }
            }
        }

        private void btnHobby_Click(object sender, RoutedEventArgs e)
        {
            using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MyTest;User Id=sa;Password=123;"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from T_Student where name like '張%'";
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            string hobby = reader.GetString(3);
                            MessageBox.Show(hobby);
                        }
                    }
                }
            }
        }

        private void btnQuery1_Click(object sender, RoutedEventArgs e)
        {
            using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MyTest;User Id=sa;Password=123;"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select hobbit from T_Student where age>@age or hobbit =@hobbit";
                    cmd.Parameters.Add(new SqlParameter("@age", txtAge1.Text));
                    cmd.Parameters.Add(new SqlParameter("@hobbit",txtHobby.Text));
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            string str = reader.GetString(0);
                            MessageBox.Show(str);
                        }
                    }
                }
            }
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av手机在线播放 | 日韩欧美色 | 三级视频在线 | 毛片一区| 成人精品鲁一区一区二区 | 成人午夜视频在线观看 | 久久aⅴ乱码一区二区三区 午夜在线播放 | 国产乱轮在线视频 | 色综合99| 日韩精品久久 | 日韩成人在线观看 | 国产欧美精品一区二区色综合朱莉 | 成人免费视频在线观看 | 国产九九精品视频 | aaaa大片 | 精品中文字幕一区 | 免费毛片大全 | 亚洲自拍偷拍av | 成人免费一区二区三区视频网站 | 伊人色播 | 一级视频在线观看 | 亚洲污视频 | 黄色一级毛片在线观看 | av片网站 | 99久久久国产精品 | 黄色一级片黄色一级片 | 成人看的羞羞视频免费观看 | 国产一区二区三区久久久久久久久 | 亚洲成人一区二区在线观看 | 国产精品一区二区在线 | 久久道 | 欧美一区二区三区免费 | 黄色污网 | 久久国产亚洲精品 | 嗯嗯嗯亚洲精品国产精品一区 | 一级视频在线观看 | 国产色在线 | 国产精品乱码久久久久久 | 99国产精品久久久久久久成人热 | 欧美一级做性受免费大片免费 | 日韩中文视频 |