adonet数据库
咨询记录 · 回答于2021-12-21
❷ ADO.NET的数据库操作包括哪两种方式
一种是直接在类内写链接字符串
另一种方式是在web.config内填写链接字符串,然后在类内通过
public static string connection = ConfigurationManager.ConnectionStrings["名字"].ConnectionString;
❸ 简述 ADO.NET访问数据库的步骤
1,引入命名空间
2,定义连接字符串
3,定义connection对象
4,写Sql语句
5,创建command对象
6,try{}catch{}finally{}
7,打开数据库连接
8,创建DataReader对象
9,逐行读取DataReader对象查询的结果
0,关闭DataReader对象
11,关闭数据库连接
❹ 请简描述ADO.NET访问数据库的步骤
1、Connection,连接。打开数据通道。
2、Command,命令。通过连接传给数据库执行。
3、DataReader,仅向前读取器。通过连接,读取查询结果。
4、Parameter,参数。有输入也有输出,输入参数和Command结合通过连接传给数据库,输出参数在执行后由数据库返回给参数。
5、DataAdapter,适配器。将数据库映射到程序,同步更新、删除、查询、添加。结合DataSet、DataTable、DataRow、DataColumn等对象使用。
6、Transaction,事物。多个命令组合执行,一条儿失败全部回滚,也可以自己设置还原点,手动控制回滚。
❺ 请介绍一下ADO.NET框架下几种数据库访问技术的优缺点。详细一点
数据源控件访问数据库:简单快捷,但是真正的开发中不会去这样用的,因为1是效率问题2是灵活性不足,这就跟ASP.NET里面的其他控件一样,正的要做大应用是不会用这种东西的,因为扩展性不足,或者为了做到兼容性损失了效率。 使用.NET数据提供程序访问数据库:共有4种,SQL Server .NET Framework数据提供程序,OLEDB .NET Framework数据提供程序,ODBC .NET Framework数据提供程序,Oracle .NET Framework数据提供程序。看名字也该明白,针对不同的数据库使用不同的数据提供程序,这是开发中最经常使用的方式,缺点是米有办法应对多数据库的情况,也就是说假如你的应用是面向多数据库的,那么有几种数据库,基本要写几套SQL。 用DATASet:恭喜你不用写T-SQL了,但是你要学会它的语法,从此不用担心多数据库应用的问题。但是惨了,它为了兼容多种数据库因此T-SQL写的真的“很兼容”执行效率太低,同样的一个表现结果,这个SQL嵌套了好几次,效率灰常低。 LINQ to SQL:老实讲,他就是为SQL SERVER而生的,你也不用写T-SQL了,它的语法学学还是好处颇多,因因为你在LINQ TO OBJECT上也能见到这种语法的影子收益颇多,它的执行效率很快,但是不管怎么讲也没有你直接用SQL Server .NET Framework数据提供程序,自己写SQL快,可控制程度高,好处也是显而易见就像用DATASET一样,你不用再为了数据持久化问题写一大堆ORM的东西了。 by the way,目前.NET中,ORM用的比较多的是Nhibernate,但是你如果就想用SQL SERVER还是用LINQ to SQL吧,好处显而易见,在开发过程中对于数据库的变更也是比较常见的,你的数据库字段不知道会出现在哪个类,哪个文件中,如果用了DATASET,或LINQ2SQL在编译阶段你就可以察觉到这种变更带来的影响。
❻ ADO.NET实体数据模型讲解
ADO.NET是。NET与数据库互操作的核心,而ADO.NET实体数据库则增强了。NET应用程序与数据库的互联能力,通过ADO.NET实体数据模型我们可以很方便的与底层数据库进行强类型的数据互操作。大大的方便了设计人员,从而也提高了数据库操作的安全性。
最近在使用到Silverlight的领域数据服务时遇到一个很特别的问题[在应用程序中的结果和数据库的结果不一样],经过反复的试验,终于找到了问题的根源,那就是ADO.NET实体数据模型依赖于实体键,它的查询会生成实体键的唯一结果集。
现在来看看具体的操作过程和处理方式:
为了对数据库的表进行操作,在数据库的视图中建立了一个连接两个原子表的
vw_DesksAndUsers
的视图,这个视图旨在为了连接已存在的User表和Desk的数据,于是我做了如下的T-SQL的视图,如下所示:
在SQL
Server
2008中得到的查询结果如下:
也就是说得到了预期的结果,[这一步很成功].接下来进行第二步。
第二步:新建一个Silverlight商业应用程序SilverlightDomainDb,在生成的项目中会支持WCF
RIA服务。这是对Silverlight领域服务的支持所必须的。
第三步:在Web项目中添加一个ADO.NET实体数据模型的新项,在向导中选择相应的数据库连接和数据表、视图及存储过程等,完成以后会生成相应的实体数据类型和上下文,并得到。edmx的模型图。如下所示:
根据Visual
Studio
2010的提示,它为我们生成了两个实体键:DeskId,IsPlaying(这是Desk表中的两个字段);现在重新生成项目。
第四步:根据实体模型添加Web领域服务项。(在这一步需要添加相应的表和元数据信息)
第五步:Silverlight项目中将数据源所在vw_DesksAndUsers
的Datagrid拖到Home.xaml中,完成、调试。并没有得到上面的结果,而是生成了如下的Datagrid:
经过仔细的观察,才发现原来是ADO.NET实体数据模型中的结果集依赖于实体键,也就是说Silverlight领域服务会根据实体键的唯一生成查询的结果集,于是就产生了上面的以DeskId为唯一键的数据。
处理:
根据以上的分析,要得到预期的结果,必须设置合适的实体键,为了不至于影响到底层的SQL数据库,我们只需要修改。edmx模型图中的的实体键即可(点击右键选中或不选中"实体键"):
现在重新生成项目并运行程序,程序得到了预期的结果。
Silverlight商业应用程序作为一个专为数据显示而生的模板,为数据库的呈现提供了友好的界面,由于其优化的数据库的处理方式使得我们在使用时不得不考虑一些它们之间的细微差别[由于在Visual
Studio中没能看到有LINQ生成的T-SQL查询语句,所以我也只是提供了一个简单的解决方案而已],我想其深层的原因在于LINQ查询中生成的T-SQL语句与数据库中的T-SQL语句不同而产生。
❼ 如何使用ADO.NET实现数据库的打开和关闭
data
source=数据库服务器名;initial
catalog=数据库名;user
id=连接用户名;password=密码;
然后用open()打开;close关闭数据库;
使用的时候打开,不使用的时候就关闭,节省内存使用空间。
操作数据库的话直接用SQL语句操作就可以了
❽ ado.net是什么意思
ADO.NET是一组用于和数据源进行交互的面向对象类库:
一:通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。
二:ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。
三:因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源。
四:这些数据源都可以通过.NET的ADO.NET类库来进行连接。
❾ ADO.NET操作数据库的几个对象是什么
接口 IConnection ,IDataAptader,ICommand,IDataReader,ITranction.....
由接口现实抽象类 :DBConnection,DBCommand,DBTranction,DBDatareader......
以上主键放在System.Data 中。不同的数据库类库继承抽象类,实现各种的具体类。
比如SQL Server :SqlConnection........
比如SQL Compact :SqlCeConnection..........
Connection: 数据连接
Command:SQL语句的实际执行者
DataReader:快速只向前的数据读取。
Tranction:数据库事务。
DataAptader:适配器。
主要的就是这几个了,当然还有ConnectionBuilder,DataParameter 等等类。