• ExecuteReader执行查询实例


    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);

                            }

                        }

                    }

                }

            }

        }

    }

  • 相关阅读:
    Win10 64bit 下 Oracle 11g的安装
    删除服务列表中的任意服务 services.msc
    centos7修改docker镜像源的方法
    Docker零基础
    CentOS 查看日志命令
    mac 修改默认python,pip,为python3,pip3
    多次调用摄像头,需要考虑渲染问题
    Ant Designer Vue 中 layout 样式类名丢失
    Windows10 右键假死卡住转圈。
    mac 安装yarn
  • 原文地址:https://www.cnblogs.com/gyt-xtt/p/3639063.html
Copyright © 2020-2023  润新知