1、Connection,连接。打开数据通道。
2、Command,命令。通过连接传给数据库执行。
3、DataReader,仅向前读取器。通过连接,读取查询结果。
4、Parameter,参数。有输入也有输出,输入参数和Command结合通过连接传给数据库,输出参数在执行后由数据库返回给参数。
5、DataAdapter,适配器。将数据库映射到程序,同步更新、删除、查询、添加。结合DataSet、DataTable、DataRow、DataColumn等对象使用。
6、Transaction,事物。多个命令组合执行,一条儿失败全部回滚,也可以自己设置还原点,手动控制回滚。
② 使用ADO.NET操作数据库问题
Private Sub bingData() conn的open在哪?没看到.
'ConnectionString 设置 最好提到前面
sqlcon.ConnectionString = "Data Source=junma;database=商城;user id=jun;pwd=JUNMA19174"
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlcon
sqlcmd.CommandText = "select 客户编号,客户名称,负责人,电话1,电话2,传真,公司地址,送货地址 from 客户资料"
Dim sqlada As New SqlDataAdapter
sqlada.SelectCommand = sqlcmd
Try
sqlcon.Open()
.....................
......................
........................
.........................
③ 如何使用ADO.NET轻松操纵数据库
NET Framework 数据提供程序的不同数据库不同的命名空间。
2
.NET Framework 数据提供程序的四个核心对象。
3
Connection有什么作用。Connection的作用是建立应用程序和数据库的连接,Connection有两个方法:Open()方法打开数据库,Close()关闭数据的连接;一个属性ConnectionString设置连接数据库字符串。它的作用可以用图形表示:
创建Connection对象的步骤。定义连接字符串,Sql Secer数据库的连接字符串格式一般为: Data Source=服务器名;Initial Catalog=数据库名; User ID=用户名;Pwd=密码
创建Command对象。
打开与数据库的连接。使用Open()方法。
关闭数据库连接。使用完数据库要记得即使关闭,使用Close()方法关闭,如果不关闭,会影响运行效率。关闭方式如下:
连接数据库整体示例。
测试数据库连接结果。
为什么使用异常处理。在连接数据库时常常出现连很多异常现象,例如下面的:
如何处理数据库连接异常。
为什么需要finally语句。使用finally语句可以执行我们结束的语句。
异常程序是如何执行的。可以看下执行过程:
④ 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执行常规数据库操作过程 �1�3
ADO.NET连接数据库实验步骤(1):定义连接字符串数据库的连接定义一般是以字符串的形式出现,该字符串的定义参见图所示。 连接字符串举例图不管用拖放方式在图形界面增加的SqlConnection1对象,还是通过代码编写生成的SqlConnection1对象,都需要定义连接字符串。界面增加的SqlConnection1对象,其连接字符串在配置数据库连接后自动生成,而代码编写生成的SqlConnection1对象,其连接字符串需要安装格式要求手工编写。连接字符串决定了连接某台服务器,某个数据库,还有连接方式及要求。编程时定义连接字符串的具体例子,参见图:定义连接字符串具体举例图图中,SqlConnection1为sqlconnection对象,通过sqlconnection对象加载数据库连接字符串与MSSQL进行连接。在连接字符串中,“Server=SQLDB;”表示存储“pubs”数据库的服务器名称,该服务器名称为SQLDB,也可以写成IP地址,如123.101.220.1。如果是本地数据库服务器,可以有以下几种写法:“(local)”或者“.”“127.0.0.1”、本地机子名称。在连接字符串中,“User id=sa; pwd=password”表示登录数据库服务器用户名称和密码,使用这种用户身份登录方式必须是,用户同样可以使用“SQL Server身份认证”登录数据库服务器,否则连接仍然会失败。最后的“database=pubs”表示登录服务器是pubs数据库。ADO.NET连接数据库实验步骤(2):创建Connection对象在代码编辑器里面,通过编写代码的方式创建Connection对象的过程参见图所示: 创建连接对象图在对象创建过程中将连接字符串作为参数传递给SqlConnection类的构造函数,这样连接对象SqlConnection1就可以用来访问数据了。构造函数还有个重载,就是参数为空的构造函数。在实例化时不将连接字符串作为参数传给构造函数,实例化之后,给对象SqlConnection1的属性ConnectionString赋值,完成对象SqlConnection1的设置。例如:SqlConnection SqlConnection1 = new SqlConnection(); SqlConnection1.ConnectionString = "Data Source=10.5.0.30;Initial Catalog=TTDB; User ID=TrainingDeveloper Pwd=Password";
ADO.NET连接数据库实验步骤(3):打开与数据库的连接用Connection对象的Open()方法就可以打开数据库连接。
⑥ Ado.net访问数据库的方法和步骤
不论从语法来看 还是从风格和设计目标来看 ADO NET都和ADO有显着的不同 在ASP中通过ADO访问数据库 一般要通过以下四个步骤
创建一个到数据库的链路 即ADO Connection
查询一个数据集合 即执行SQL 产生一个Recordset
对数据集合进行需要的操作
关闭数据链路
在ADO NET里 这些步骤有很大的变化 ADO NET的最重要概念之一是DataSet DataSet是不依赖于数据库的独立数据集合 所谓独立 就是 即使断开数据链路 或者关闭数据库 DataSet依然是可用的 如果你在ASP里面使用过非连接记录集合(Connectionless Recordset) 那么DataSet就是这种技术的最彻底的替代品
有了DataSet 那么 ADO NET访问数据库的步骤就相应地改变了
◆创建一个数据库链路 ◆请求一个记录集合 ◆把记录集合暂存到DataSet ◆如果需要 返回第 步 (DataSet可以容纳多个数据集合) ◆关闭数据库链路 ◆在DataSet上做所需要的操作
lishixin/Article/program/net/201311/15216
⑦ Ado.net将数据库查询结果转成一个动态对象
步骤如下:一、用有源ODBCDSN的方法和无源OLEDB的方法连接数据库:1、无源OLEDB:stringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=intels.mdb";2、有源ODBCDSN:stringstrConn="DataSource=intels";如果采用ADO.NET连接SQLServer或者Oracle,方法和VB中连接相应数据的连接字符串一致。
二、开始连接数据库:ADOConnectionConn=newADOConnection(strConn);三、执行一个selectSQL查询:stringstrSQL="Selectidfromtest";ADOCommandADOCmd=newADOCommand(conn,Conn);Conn.Open();ADODataReaderreader;ADOCmd.Execute(outreader);四、得到ADODataReader中包含的数据:先执行:reader.Read();然后就可以取得数值:reader["id"].ToString();依次类推。五、delete(删除)语句,insert和update相同:strSQL="deletefromtestwhereid=’1’";//strSQL="insertintotestvalues(’1’)";//strSQL="updatetestsetid=’1’";ADOCommandADOCmd=newADOCommand(conn,Conn);Conn.Open();ADOCmd.Execute();
⑧ C#ADO.NET怎样才能与SQL数据库连接
导入命名空间 using System.Data,Sqlclient;string ConnStr="server=.;database=NewsData;uid=sa;pwd=123";string SQL_STRING="select * from news";database连接的是数据库名称;uid是用户名;pwd是登陆密码;1,创建一个连接实例SqlConnection conn = new SqlConnection(ConnStr);2.打开连接conn.open();3。创建执行命令实例SqlCommand cmd=new SqlCommand(SQL_STRING,conn);4,创建只进读取数据对象SqlDataReader sdr = cmd.ExecuteReader();5,读取数据x0dx0a if (sdr.Read())x0dx0a {x0dx0a t_colname.Text = sdr["new_Name"].ToString();x0dx0a t_colwords.Text = sdr["new_Des"].ToString();x0dx0a }6.关闭连接x0dx0a sdr.Close();x0dx0a conn.Close();x0dx0a这是一个实例,希望通过这个你可以了解一下 ,在这里涉及到了ADO.NET的3个对象
⑨ ADO.NET连接ACCESS数据库
vb.net
首先引用Access ado.net命名空间
imports system.data.oledb
连接数据库代码
dim connstr as string="provider=microsoft.jet.oledb.4.0;data source='" & dbpath & "'"
上面是数据库连接字符串 dbpath 是数据库路径
dim conn as new oledbconnection(connstr)
conn.open
打开数据库连接
dim sql as string="select * from A"
dim cmd as new oledbcommand(sql,conn)
dim dr as oledbdatareader=cmd.executereader
textbox1.text=dr.getstring(1)
dr.close
conn.close
读取A表中第二个字段的内容到文本框。
关闭数据读取器
关闭数据库连接
⑩ 使用ADO.NET向数据库中插入数据
连接数据库coreDB,向表myBBS中插入文章。表myBBS的定义如下: if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[myBBS]) and OBJECTPROPERTY(id, NIsUserTable) = 1) drop table [dbo].[myBBS] GO CREATE TABLE [dbo].[myBBS] ( [ID]
连接数据库coreDB,向表myBBS中插入文章。表myBBS的定义如下:
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[myBBS]) and OBJECTPROPERTY(id, NIsUserTable) = 1)
drop table [dbo].[myBBS]
GO
CREATE TABLE [dbo].[myBBS] (
[ID] [bigint] IDENTITY (1, 1) NOT NULL ,
[Title] [char] (160) COLLATE Chinese_PRC_CI_AS NULL ,
[Author] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[Date_of_Created] [datetime] NULL ,
[Abstract] [char] (480) COLLATE Chinese_PRC_CI_AS NULL ,
[Content] [ntext] COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
TextBox1,TextBox2分别为提供用户输入标题和文章内容的两个textBox,
用户点击Button1按钮时检查并保存文章到数据库中。
private void Button1_Click(object sender, System.EventArgs e)
{
SqlConnection coreDB=new SqlConnection();
coreDB.ConnectionString= "workstation id=\"GQA-ERIC-LV\";packet size=4096;integrated security=SSPI;" +
"data source=\"gqa-eric-lv\";persist security info=False;initial catalog=CoreDB";
string Title=TextBox1.Text;
string Content=TextBox2.Text;
if(Title.Trim()==""||Content.Trim()=="")return;
string mySelectQuery =@"insert into myBBS (Title,Content) Values("+ Title + "," +Content+")";
SqlCommand myCommand = new SqlCommand(mySelectQuery,coreDB);
coreDB.Open();
SqlDataReader myReader = myCommand.ExecuteReader();
myReader.Close();
coreDB.Close();
}