C# 数据库查询总结
首先创建了一个SQL Server数据库作为测试的数据库,建立表并填入测试数据
数据库:SQL Server
数据库名:Blog
表名:Test

注:数据库的连接可以使用“dbl”文件测试,具体使用百度即可。
1.将数据库的数据全部查询到datagridview
语句:select * from Test
private void button1_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr="select * from Test";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

2.查询数据库的部分数据并显示到datagridview
语句: string cmdstr = "select 姓名,年龄 from Test";
private void button2_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr = "select 姓名,年龄 from Test";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

3.使用列别名显示数据
语句: string cmdstr = "select 姓名 as name,年龄 as age from Test";
注:语句中的“as”关键词,可以使用空格代替
private void button3_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr = "select 姓名 as name,年龄 as age from Test";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

4.使用列计算
语句:string cmdstr = "select 姓名,年龄,语文,数学,英语,语文+数学+英语 as 总分 from Test";
private void button4_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr = "select 姓名,年龄,语文,数学,英语,语文+数学+英语 as 总分 from Test";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

5.限定查询数值范围大小
语句:string cmdstr = "select 姓名,年龄,语文,数学,英语,语文+数学+英语 as 总分 from Test where (语文+数学+英语)>215";
private void button5_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr = "select 姓名,年龄,语文,数学,英语,语文+数学+英语 as 总分 from Test where (语文+数学+英语)>215";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

6.通配符
“_” :代表一个字符
"%" :代表多个字符
"[]" :代表范围
"[^]”:非括号范围内的单个字符
“distinct”:去除重复记录
7.排序取前2
语句:string cmdstr = "select top 2 姓名,年龄,语文,数学,英语,语文+数学+英语 as 总分 from Test order by (语文+数学+英语) desc";
private void button6_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr = "select top 2 姓名,年龄,语文,数学,英语,语文+数学+英语 as 总分 from Test order by (语文+数学+英语) desc";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

8.排序取前百分之50
语句:string cmdstr = "select top 50 percent 姓名,年龄,语文,数学,英语,语文+数学+英语 as 总分 from Test order by (语文+数学+英语) desc";
private void button7_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr = "select top 50 percent 姓名,年龄,语文,数学,英语,语文+数学+英语 as 总分 from Test order by (语文+数学+英语) desc";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

9.分组查询、统计
语句:string cmdstr = "select 班级,sum(语文)as 语文总分,sum(数学) as 数学总分,sum(英语) as 英语总分,sum(语文+数学+英语) as 总分 from Test group by 班级";
private void button8_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr = "select 班级,sum(语文)as 语文总分,sum(数学) as 数学总分,sum(英语) as 英语总分,sum(语文+数学+英语) as 总分 from Test group by 班级";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

10.聚合函数
AVG:数字表达式中所有值的平均值
COUNT:选定的行数
MAX:表达式中的最高值
MIN:表达式中的最低值
STDEV:表达式中所有值的统计标准偏差
STDEVP:表达式中所有值的填充统计标准偏差
VAR:表达式中所有值的统计方差
VARP:表达式中所有值的填充统计方差
SUM:数字表达式中所有值的和
11.数据处理函数
LEN:限定字段长度
Ltrim、Rtrim:去处空格函数
left、right:字符函数
ABS:数字函数
Year、Month:日期函数
12.多表分组查询
语句:string cmdstr = "select t.姓名,t.性别,t.年龄,p.name,p.age from Test t,practice p where t.姓名=p.name group by t.姓名,t.性别,t.年龄,p.name,p.age";
注:该功能将同一数据库下的不同数据表进行合并查询,取不同数据表的数据显示到同一个datagridview中
private void button11_Click(object sender, EventArgs e)
{
string connstr = "Data Source=LONG-PC\\LONG;Initial Catalog=Blog;User ID=long;Password=longtao";
string cmdstr = "select t.姓名,t.性别,t.年龄,p.name,p.age from Test t,practice p where t.姓名=p.name group by t.姓名,t.性别,t.年龄,p.name,p.age";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdstr;
cmd.Connection = conn;
SqlDataAdapter adap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[].DefaultView;
}

C# 数据库查询总结的更多相关文章
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
- [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
本文来自:http://www.cnblogs.com/mrchenzh/archive/2010/05/31/1747937.html /****************************** ...
- 各数据库查询前N条记录的SQL语句
sql在不同数据库查询前几条数据 1. ORACLE SELECT * FROM TABLE_NAME WHERE ROWNUM <= N; HQL: from table_name t or ...
- Atitit DbServiceV4qb9 数据库查询类库v4 新特性
Atitit DbServiceV4qb9 数据库查询类库v4 新特性 V4新特性 安全特性,屏蔽了executeUpdate,使用v2版 Sql异常转换,特别转换了DuplicateEnt ...
- C#与mysql做ASP.NET网页数据库查询速度测试
两种方法是:1,使用mysql数据库的存储过程:2,C#编码,做网页后台与mysql数据库连接,前台测试显示测试过结果下面我将分别讲解两种方法的具体实现. 1,使用mysql数据库的存储过程插入万条大 ...
- 第九十九天上课 PHP TP框架 数据库查询和增加
在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yong ...
- mysql数据库查询pdo的用法
最早的php对mysql数据库查询是mysql和mysqli方法,后来php的新版本进一步封住了该方法,于是又pdo,抛开php框架,使用pdo查询数据,使用也是相当简便 <?php ini_s ...
- 下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...
- iBatis.Net(C#)数据库查询
引用请注明http://www.cnblogs.com/13590/archive/2013/03/14/2958735.html 摘要:查询是数据库SQL语言的核心,本文介绍了通过iBatis.N ...
- 【MYSQL】创建虚表来辅助数据库查询
在进行数据库查询时,有时需要用到对既有的数据表进行多表查询得出的临时条件的数据表,就可以暂时创建成为虚表,并赋予简单明了的字段名以及临时表名. 例题a:查询出每门课程低于平均成绩的学生姓名.课程名称. ...
随机推荐
- GoLang之协程
GoLang之协程 目前,WebServer几种主流的并发模型: 多线程,每个线程一次处理一个请求,在当前请求处理完成之前不会接收其它请求:但在高并发环境下,多线程的开销比较大: 基于回调的异步IO, ...
- yii2.0自动登录功能的实现方法
参考地址:http://www.kuitao8.com/20150518/3747.shtml 自动登录的原理很简单.主要就是利用cookie来实现的在第一次登录的时候,如果登录成功并且选中了下次自动 ...
- python模块time&datetime&json & picle&14.logging等
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- 简述frame、bounds、center
frame是该视图在父视图坐标系统中的位置和大小.(参照父视图中的坐标系统) bounds是该视图在自身坐标系统中的位置和大小.(参照自身的坐标系统) center是该视图的中心点在父视图坐标系统中的 ...
- C#数字格式化
格式规范的完整形式:{index [,width][:formatstring]} index是此格式程序引用的格式字符串之后的参数,从零开始计数:width(可选) 是要设置格式的字段的宽度,wid ...
- ubuntu用apt-get安装memcache
转自:http://yangfutao2000.blog.163.com/blog/static/12162588201151635856858/ 先安装服务器端: apt-get install m ...
- poj3254 Corn Fields (状压DP)
http://poj.org/problem?id=3254 Corn Fields Time Limit: 2000MS Memory Limit: 65536K Total Submissio ...
- Python中MySQLdb的事务处理
今天写了个tool,目的是把csv中的数据插入到数据库中去.其中有一部分,是需要分别向两张表中插入两条数据,如果第二张表中的数据已经存在,那么第一张表中的数据也不需要插入. 然后通过百度查找发现,其实 ...
- iOS之下拉放大,上推缩小,一个方法搞定
先来看看效果吧. 讲讲大概的实现思路:1、创建头部的视图和tableview,需要注意的是tableview要设置contentInset,contentInsent 的顶部要和头部视图的背景图的高度 ...
- BSA混合分离分析法
BSA(Bulked Segregant Analysis)又称混合群体分离分析法,是利用极端性状进行功能基因挖掘的一种方法.主要思想是将两个具有极端性状的群体进行混池测序,比较两个群体在多态位点(S ...