net数据库
- 格式:doc
- 大小:353.50 KB
- 文档页数:16
.net数据库
Connection 对象提供与数据源的连接。Command 对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader 从数据源中提供高性能的数据流。最后,DataAdapter 提供连接 DataSet 对象和数据源的桥梁。DataAdapter
使用 Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对
DataSet 中数据的更改与数据源保持一致。
DataSet 包含一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及有关
DataTable 对象中数据的主键、外键、约束和关系信息组成。
选择 DataReader 或 DataSet
在决定应用程序应使用 DataReader(请参见使用 DataReader
检索数据)还是应使用
DataSet(请参见在 中使用 DataSet)时,应考虑应用程序所需的功能类型。DataSet 用于执行以下功能:
在应用程序中将数据缓存在本地,以便可以对数据进行处理。如果只需要读取查询结果,DataReader 是更好的选择。
在层间或从 XML Web 服务对数据进行远程处理。
与数据进行动态交互,例如绑定到 Windows 窗体控件或组合并关联来自多个源的数据。
对数据执行大量的处理,而不需要与数据源保持打开的连接,从而将该连接释放给其他客户端使用。
如果不需要 DataSet 所提供的功能,则可以使用 DataReader 以只进、只读方式返回数据,从而提高应用程序的性能。虽然 DataAdapter 使用 DataReader 来填充 DataSet 的内容(请参见从 DataAdapter 填充 DataSet),但可以使用 DataReader 来提高性能,因为这样可以节省 DataSet 所使用的内存,并将省去创建 DataSet 并填充其内容所需的处理。
.NET Framework 数据提供程序的核心对象
下表概括了组成 .NET Framework 数据提供程序的四个核心对象。
对象 说明
Connection 建立与特定数据源(数据库)的连接。所有 Connection 对象的基类均为
DbConnection 类。
Command 对数据源执行命令。公开 Parameters,并且可以通过 Connection 在
Transaction 的范围内执行。所有 Command 对象的基类均为 DbCommand 类。
DataReader 从数据源中读取只进且只读的数据流。所有 DataReader 对象的基类均为
DbDataReader 类。该对象循环的向下一次一笔地读取数据,节省了网络资源,不需将所有数据通过网络一次全传回给应用程序。
DataAdapter 用数据源填充 DataSet 并解析更新,在数据源以及DataSet只见执行数据传输工作。它由4个Command对象组成,SelectCommand,InsertCommand,UpdateCommand,UpdateCommand,DeleteCommand,所有 DataAdapter 对象的基类均为 DbDataAdapter 类。
这4个组件是负责建立年纪和数据操作部分,称为数据提供组件。而DataSet是在内存中建立的类似数据库的结构,数据操作组件主要功能是作为DataSet与数据源之间的桥梁,负责将数据源中的数据取出后放入DataSet中,或是将DataSet中的数据存放回数据源。
1. 创建打开连接
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = “ConnectionString”;
or:
string myString = “workstation id = gz6tgm ; packet size = 4096 ; user id = sa ; “data
source = gzabc ; persist security info = True ; initial catalog =aspbook ; password =
pass”;
SqlConnection myConn = new SqlConnection(mystring);
workstation id:连接服务器的及其名称,默认为本机名称
packet size:指定每个网络数据包可用于与sql server通信的字节数
user id:用以登录数据库服务器的sql server用户名
password:登录数据库密码
data source:要连接的数据库服务器名称
initial catalog:要连接的数据库名称
persist security info:防止敏感,如密码作为打开连接的一部分信息被返回 打开连接:
myConnection.open();
关闭连接:
myConnection.close()
2. 用Sqlcommand对象读取和更新数据
Sqlcommand工作是通过Connection对象来对数据源执行命令以操作数据。
a. 构造:
名称 说明
SqlCommand () 初始化 SqlCommand 类的新实例。
SqlCommand (String) 用查询文本初始化 SqlCommand 类的新实例。
SqlCommand (String, SqlConnection) 初始化具有查询文本和 SqlConnection 的
SqlCommand 类的新实例。
SqlCommand (String, SqlConnection,
SqlTransaction) 使用查询文本、一个 SqlConnection 以及
SqlTransaction 来初始化 SqlCommand 类的新实例。
SqlConnection myConn=new SqlConnection("workstation id = gz6tgm ; packet size = 4096 ;
user id = sa ; “data source = gzabc ; persist security info = True ; initial catalog =aspbook ;
password = pass”);
String sqlstring = “insert into student values(011170,’wyp’,1,23,’化21’);
SqlCommand mycommand = new SqlCommand(sqlstring,myConnection);
myConn.Open();
mycommand.ExecuteNonQuery();
myconn.close();
公共属性 :
名称 说明
CommandText 已重写。获取或设置要对数据源执行的 Transact-SQL 语句或存储过程。
CommandTimeout 已重写。获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
CommandType 已重写。获取或设置一个值,该值指示如何解释
CommandText 属性。 Connection 获取或设置 SqlCommand 的此实例使用的
SqlConnection。
Container 获取 IContainer,它包含 Component。(从 Component 继承。)
DesignTimeVisible 已重写。获取或设置一个值,该值指示命令对象是否应在
Windows 窗体设计器控件中可见。
Notification 获取或设置一个指定与此命令绑定的
SqlNotificationRequest 对象的值。
NotificationAutoEnlist 获取或设置一个值,该值指示应用程序是否应自动接收来自公共 SqlDependency 对象的查询通知。
Parameters 获取 SqlParameterCollection。
Site 获取或设置 Component 的 ISite。(从 Component 继承。)
Transaction 获取或设置将在其中执行 SqlCommand 的
SqlTransaction。
UpdatedRowSource 已重写。获取或设置命令结果在由 DbDataAdapter 的“Update”方法使用时,如何应用于 DataRow。
CommandType:
CommandType.StoredProcedure 表明CommandText中指定的是存储过程
CommandType.Text 表明是执行数据操作的SQL语句(默认)
CommandType.TableDirect 表明要访问的数据表名称
SqlCommand 特别提供了以下对 SQL Server 数据库执行命令的方法:
项 说明
BeginExecuteNonQuery 启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行,一般情况下执行 INSERT、DELETE、UPDATE 和
SET 语句等命令。每调用一次 BeginExecuteNonQuery,都必须调用一次通常在单独的线程上完成操作的
EndExecuteNonQuery。
BeginExecuteReader 启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行,并从服务器中检索一个或多个结果集。每调用一次 BeginExecuteReader,都必须调用一次通常在单独的线程上完成操作的 EndExecuteReader。
BeginExecuteXmlReader 启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行。每调用一次 BeginExecuteXmlReader,都必须调用一次 EndExecuteXmlReader,它通常在单独的线程上完