ADO.Net 数据库查询

数据库中的表:

VS查询代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;//先引用数据库方法
namespace ADO.Net_连接及查询
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入要查询的学号:");//用户输入一个学号
            string hao = Console.ReadLine();//接收一下用户输入的,放在变量hao中
            //1. 数据库连接类

            //先实例化数据库这个类,关键字SqlConnection,
            //后面连接方法填写:固定格式字符串类型,server=.,“.”是我们服务器,database=数据库名
            //user=数据库登录名,pwd=登录密码
            SqlConnection con = new SqlConnection("server=.;database=adonet;user=sa;pwd=123;");

            //2. 数据库操作类  关键字SqlCommand  
            SqlCommand cm = con.CreateCommand();

            //编写TSQL语句
            cm.CommandText = "select * from xue where code='"+hao+"'";//根据学号查询信息,将接收的学号写在查询语句中

            //3. 数据库连接通道开启
            //上面只是连接到了数据库,并获取到了数据库的表的信息,需要开启才能实现操作
            con.Open();//开启

            //4. 数据读取类  关键字SqlDataReader
            SqlDataReader dq = cm.ExecuteReader();//读取一下获取到的数据库数据

            if (dq.HasRows) //if判断是否能够读取到数据库,读取到了走里面程序,读取不到说明有错误
            {
                while (dq.Read())//每次只读取一条数据,加个循环,将每条数据循环读取出来,每读到一条数据返回的是true类型,当没有数据的时候是false类型,自动结束循环
                {
                    //数据库内容读取类似于一个集合,把读取的每个信息放到一个集合里面,打印时按照读取数据的索引打印
                    //打印的信息过长,可以直接用变量在外面接收一下信息,直接打印变量,比如生日,性别,成绩
                    string birth=Convert.ToDateTime( dq[3]).ToString("yyyy年MM月dd日");
                    string sex=((bool)dq[2]?"":"");
                    string score=((decimal)dq[4]).ToString("#.##");
                    Console.WriteLine("学号:" + dq[0] + "  姓名:" + dq[1] + "  性别:" + sex + "  年龄:" + (DateTime.Now.Year - ((DateTime)dq[3]).Year)+"" + "  生日:" + birth + "  成绩:" + score);
                }
            }

            con.Close();//使用完之后关闭数据库连接

            Console.ReadKey();
        }
    }
}

原文地址:https://www.cnblogs.com/zyg316/p/5604936.html