数据库中的表:
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[]).ToString("yyyy年MM月dd日");
string sex=((bool)dq[]?"男":"女");
string score=((decimal)dq[]).ToString("#.##");
Console.WriteLine("学号:" + dq[] + " 姓名:" + dq[] + " 性别:" + sex + " 年龄:" + (DateTime.Now.Year - ((DateTime)dq[]).Year)+"岁" + " 生日:" + birth + " 成绩:" + score);
}
} con.Close();//使用完之后关闭数据库连接 Console.ReadKey();
}
}
}