版权声明:本文为博主原创文章,转载请注明原文链接 https://blog.csdn.net/qq_36922927/article/details/84504204
连接数据库
读取数据
访问多张表
什么是ADO.NET
ADO=Active Data Objects
那么ADO.NET
- 比以前的ADO更加灵活
- 设计用于无连接环境(数据加载到dataset,后续查询操作,可以不再连接数据库)
- 支持xml的编程模型
- 包含一组类、接口、结构和枚举来管理基于.net Framework的数据访问
DataSets&DataReaders
dataset:字面意思数据集合
类似于java中出现的ResultSet,你可以理解为是将数据库给数据读取到内存中,形成一个内存中的数据库,通过操作dataset还可以建立视图等等。
- DataSet在无连接环境下存储信息(数据读取到内存之后,即可断开数据库连接)
- 存储在DatSet中的数据可以被没有连接到数据圆的Web From来处理;当数据源需要被更新时,才需要重新建立连接
- DataRelation对象表之间的关系;使用DataView对象可以建立视图
DataSet | DataReader |
---|---|
读/写数据 | 只读 |
可以包含不同数据库的 多张表 | 基于一条sql语句从一个数据库访问数据 |
无连接 | 面向连接 |
可以绑定到多个控件 | 只能绑定到一个控件 |
使用ADO.NET访问数据库
配置文件中配置数据库连接串:Web.config
<connectionStrings>
<add name="helloDbConnectStr" connectionString="Data Source=localhost;Initial Catalog=hello;Persist Security Info=True;Data Source=localhost; User ID=sa;Password=18142512"
providerName="System.Data.SqlClient" />
<add name="doctorsDbConnectStr" connectionString="Data Source=localhost;Initial Catalog=doctors;Persist Security Info=True;Data Source=localhost; User ID=sa;Password=18142512"
providerName="System.Data.SqlClient" />
</connectionStrings>
无代码显示数据库数据
来个最简单的不需要手写一行代码,实现数据表中数据显示到GridView
在任意aspx页面,design->toolbox,拖入一个控件,GridView
最后finish,发现页面是这样的:
点击调试,查看页面在浏览器中是啥样的
看到这里就实现了不写一行代码就将数据显示到页面上了。
实现分页:
设置分页大小:
打开aspx源码:
添加属性PageSize
PageSize="5"
效果
实现排序:
实现选择:
比如用户选中某一行,获取该行的值
给选中这一事件加一个响应函数,获取选中行的值
上图中双击SelectedIndexChanged会自动创建一个响应函数,当然也可以下拉选择已有的其他函数,或者输入名字新建一个自定义名字的函数
后台代码:使用trace显示数据,
protected void onSelectedChanged(object sender, EventArgs e)
{
String data = "";
foreach (DataControlFieldCell c in doctorGridView.SelectedRow.Cells)
{
data += c.Text+ " ";
}
Trace.Warn("选中数据",data);
}
效果:
实现跨页面传值:
在 onSelectedChanged 方法中添加传参数逻辑,带参数跳转到新的页面
Response.Redirect("getData.aspx?data=" + data);
新建一个aspx页面,用来获取参数,并且显示
getData.aspx
新页面的pageeLoad方法中:
protected void Page_Load(object sender, EventArgs e)
{
//获取参数中的数据
if (!Page.IsPostBack)
{
Trace.Warn("queryData:" ,Request.QueryString["data"]);
}
}
效果: