ADO.NET学习摘记


ado.net是一组用于和数据源进行交互的 面向对象类库。通常情况下, 数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。
ado.net允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过NET的ADO .NET类库来进行连接。
ado.net提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。 [

ADO (ActiveX Data Objects, ActiveX数据对象)是Microsoft提出的应用程序接口( API)用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从 DB2Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的 网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。
Microsoft的其它系统接口一样,ADO是 面向对象的。它是Microsoft 全局数据访问UDA)的一部分,Microsoft认为与其自己创建一个数据,不如利用UDA访问已有的数据库。为达到这一目的,Microsoft和其它数据库公司在它们的数据库和Microsoft的OLE数据库之间提供了一个“桥”程序,OLE数据库已经在使用ADO技术。ADO的一个特征(称为 远程数据服务)支持网页中的数据相关的ActiveX控件和有效的客户端缓冲。作为ActiveX的一部分,ADO也是Microsoft的 组件对象模式(COM)的一部分,它的 面向组件的框架用以将程序组装在一起。
ADO从原来的Microsoft数据接口 远程数据对象RDO)而来。RDO与 ODBC一起工作访问关系数据库,但不能访问如ISAM和VSAM的非关系数据库。
ADO 是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server 页面上。可以使用ADO 去编写紧凑简明的脚本以便连接到 Open Database Connectivity (ODBC) 兼容的数据库和 OLE DB 兼容的数据源,这样 ASP 程序员就可以访问任何与 ODBC 兼容的数据库,包括 MS SQL SERVER、Access、 Oracle等等。
ADO 是一项微软的技术 [1]  
  • ADO 指 ActiveX 数据对象( ActiveX Data Objects)
  • ADO 是一个微软的 Active-X 组件
  • ADO 会随微软的 IIS 被自动安装
  • ADO 是一个访问数据库中数据的编程接口


对象总结编辑

对象
说明
Command
Command 对象定义了将对数据源执行的指定命令。
Connection
代表打开的、与数据源的连接。
DataControl ( RDS)
绑定Recordset到一个或多个控件上,以便在 Web 页上显示数据。
DataFactory (RDS Server)
实现对客户端应用程序的指定数据源进行读/写数据访问的方法。
DataSpace (RDS)
创建客户端代理以便自定义位于 中间层业务对象
Error
包含与单个操作(涉及提供者)有关的数据访问错误的详细信息。
Field
代表使用普通数据 类型的数据的列。
Parameter
参数化查询或存储过程的 Command 对象相关联的参数或自变量。
Property
代表由提供者定义的 ADO 对象的动态特性。
RecordSet
代表来自基本表或命令执行结果的记录的全集。


接口简介编辑

ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。
1、_ConnectionPtr接口
返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。
2、_CommandPtr接口
返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。
3、_RecordsetPtr接口
是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。
4、接口间的区别与联系
使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。对于要返回记录的操作通常用_RecordsetPtr来实现。而用_ConnectionPtr操作时要想得到记录条数得遍历所有记录,而用_RecordsetPtr时不需要。
在使用_CommandPtr接口时,你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。如果你只执行一次或几次数据访问操作,后者是比较好的选择。但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。
同_CommandPtr接口一样,_RecordsetPtr接口不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。


事件事件描述事件数据
ConnectionClose指示 ADO 要与 OLE DB 数据源断开连接。无。
ConnectionOpen指示 ADO 正在连接到 OLE DB 数据源。如果客户端提供,则为连接到数据源所用的连接字符串。
Find指示 ADO 客户端已调用 ADO Recordset.Find 函数。“查找”操作的判据;根据该判据匹配记录。
GetRows指示 ADO 客户端已调用 ADO Recordset.GetRows 函数。提取的行数。
QueryResult指示数据库已返回响应查询的结果集。无。
QuerySend指示 ADO 正在执行命令。该事件可由下列函数触发:
Connection.Execute
  Command.Execute
  Connection.
<存储过程名>
   Recordset.Open
构成查询的 SQL 语句。
RecordsetOpen指示 ADO 正在打开远程服务器上的记录集。仅适用于三层方案。打开记录集的源(通常为行返回的命令文本)。
Sort指示 ADO 准备筛选或对数据排序。排序或筛选应用于记录集数据的判据。
Transaction Rollback指示 ADO 要中止当前本地事务。返回真或假。如果为真,则保持中止,即该事务中止后紧跟着开始另一事务。如果为假,则不保持中止。
TransactionCommit指示 ADO 正在提交 OLE DB 提供程序上的本地事务。返回真或假。如果为真,则保留提交,即该事务提交后紧跟着开始另一事务。如果为假,则不保留提交。
TransactionStart指示 ADO 正在开始 OLE DB 提供程序上的本地事务。ADO 开始事务所基于的隔离级别。隔离级别指示可看到其他事务所做更改的哪一级别。
UpdateBatch指示 ADO 正在向提供程序发送更新批处理。仅适用于三层方案。如果有,为 ADO 将更新发送到的远程服务器名。


编程模型编辑

连接数据源 (Connection),可选择开始事务。
可选择创建表示 SQL 命令的对象 (Command)。
可选择指定列、表以及 SQL 命令中的值作为变量参数 (Parameter)。
执行命令(Command、Connection 或 Recordset)。
如果命令以行返回,将行存储在存储对象中 (Recordset)。
可选择创建存储对象的 视图以便进行排序、筛选和定位数据 (Recordset)。
编辑数据。可以添加、删除或更改行、列 (Recordset)。
在适当情况下,可以使用存储对象中的变更对 数据源进行更新 (Recordset)。
在使用 事务之后,可以接受或拒绝在事务中所做的更改。结束事务 (Connection)。


常用知识点总结如下.

1.ADO.Net中提供了对各种不同数据库的统一操作接口.

2.内嵌的MDF文件可以将数据库直接加入项目中,即解决方案中,可以在服务器资源管理器中查看, 选择任务--分离可以分离出MDF文件,即可进行相关的COPY操作.

但正式生产运行时,需要把MDF文件附加到SQL数据库中, 即中VS中执行附加操作.

3.连接字符串:程序通过连接字符串指定要边哪台服务器上的,哪个实例的哪个数据库,用什么用户名密码等.

项目内嵌MDF文件的连接字符串形式为"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True". 常用@修饰.

"=.\SQLEXPRESS"表示本机上的SQLEXPRESS实例, 如果数据库实例名有变化,需要相 应更改.

"Database1.mdf"为MDF的文件名.

4.ADO.Net中通过 SqlConnection类创建到 SQLServer的连接, SqlConnection代表一个数据库连接,  ADO.NetK 连接等资源都实现了IDisposable接口,可以使用 using进行资料管理,执行备注中的代码如果成功了就 ok.

5.SqlConnection.Open表示打开数据库.


6.SqlCommand表示向服务器提交一个命令(SQL语句等), CommandText属性为要执行的SQL语句,

ExecuteNonQuery方法执行一个非查询语句(Update,Insert,Delete等),返回值为影响的行数.

ExecuteScalar方法用于执行查询,并返回查询所返回的结果集中第一行的第一列,因为不能确定返回值的类型,所以返回值是object类型.

得到自动增长字段的主键值,在values关键词前加上OUTPUT inserted.Id,其中Id为主键字段名,执行结果就试插入的主键值,用ExecuteScalar执行最方便 .

即INSERT INTO T_Users (UserName,Password)  OUTPUT inserted.Id VALUES ( 'ADMIN','888888'); 等同于Convert.ToInt32(SqlCommand.ExecuteScalar());

.

7. 执行有多行结果集的用ExecuteReader命令.

SqlDataReader提供一种从 SQL Server 数据库读取行的只进流的方式。此类是继承:public class SqlDataReader : DbDataReader, IDataReader, IDisposable, IDataRecord


SqlDataReader reader=cmd.ExecuteReader(); while(reader.Read()){Console.WriteLine(reader.GetString(1));

reader的GetString,GetInt32等方法只接受整数参数, 用GetOrdinal方法根据列名可动态得到序号.


命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll 中)
语法
C#
public class SqlDataReader : DbDataReader, IDataReader, IDisposable, IDataRecord
备注
若要创建 SqlDataReader,必须 调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用 构造函数
在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为 SqlDataReader 服务,对 SqlConnection 无法执行任何其他操作,只能将其关闭。除非调用 SqlDataReader 的 Close 方法,否则会一直处于此状态。例如,在调用 Close 之前,无法检索输出参数。

常用属性

 

名称说明
Depth获取一个值,用于指示当前行的嵌套深度。 
FieldCount获取当前行中的列数。
HasRows获取一个值,该值指示 SqlDataReader 是否有行。
IsClosed指定的SqlDataReader 实例是否已关闭。
Item[Int32]获取指定列(数字索引),通常在While.Read()中使用。
Item[String]获取指定列(字符串索引), 通常在While.Read()中使用。
RecordsAffected获取执行 T-SQL 语句所更改、插入或删除的行数。
VisibleFieldCount获取 SqlDataReader 中未隐藏的字段的数目。


常用方法

名称说明
Read 前进到下一记录,异步版本ReadAsync。
GetString 返回指定类型的值,其他的都类似。
NextResult 当处理批处理的T-SQL语句时,跳到下一结果,异步版本NextResultAsync。
GetValue获得该列的值,返回object类型。
GetValues使用当前列指来填充参数中的对象数组。
Close关闭 SqlDataReader 对象。


8.若操作中与关键字重复,需要加中括号以示区别.


9.INSERT INTO T_Users (UserName,Password)  OUTPUT inserted.Id VALUES ( 'ADMIN','888888'),其中OUTPUT inserted.Id 表示输出相关项.


10.对于创建的连接, CLOSE后可以重新打开,但DISPOSE后是不能打开的,只能重新建立. 而USING的作用则在作用域外相当于DISPOSE.


11.为应对SQL注入攻击, 可以通过设置参数化查询进行相关的操作,代码如下:

cmd.CommandText="select count(*) from T_Users where UserName= @UN and PassWord=@P.

cmd.Parameters.Add(new SqlParameter("UN",username));

cmd.Parameters.Add(new SqlParameter("P",password));

// UserName是数据库中的字段名, username则是接受输入的变量名. 而@符号表示后面跟的是变量参数名称.


12.在同一人连接中,如果SqlDataReader没有关闭,那么是不能执行UPDATE之类的操作的.


13.数据库连接的几种方法, 虽然创建连接后必须处理掉,但由于第一次连接相对较慢,故 需要多次操作时,尽量减少打开次数.

数据库的连接方法有2

1>在web.config 文件添加

<appseting>


<add key= "ConnectionString"
 
value= "uid=;password=;database=;server=;" >
 
</appseting>

 

调用时:


string connectionString=
  System.Configuration.ConfigurationManager.AppSetings[ "ConnectionString" ].ToString();

 
2>、在web.config 文件添加<connectionStrings>


<add name= "ConnectionString"
 
  connectionString="Data Source=;Inital Catalog=;
 
  Integrated Security=True; " ProviderName=" System.Data.SqlClinet">
  
</connectionStrings>

 

3>、创建“基于服务的数据库”


string dataDir = AppDomain.CurrentDomain.BaseDirectory; //获取应用程序当前目录
 
    if (dataDir.EndsWith( @"\bin\Debug\" )|| dataDir.EndsWith( @"\bin\Release\" )) //此方法适用于控制台应用和winForm
    {
        dataDir=System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
        AppDomain.CurrentDomain.SetData( "DataDirectory" ,dataDir);
    }
 
    string strConnection = @"Data Source=.\SQLEXPRESS;AttachDBFileName=|DataDirectory|\Database1.mdf;
        Integrated Security=True;User Instance=True" ;


string dataDir = AppDomain.CurrentDomain.BaseDirectory;//取得当前APP的路径
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))//判断路径中是以"\bin\Debug\或\bin\Release\结尾的任意一个
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;//取得上3层的目录
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);//为App应用程序域的DataDirectory属性赋值,值是取得上3层的目录
}



14.SqlCommand.Parameters 屬性

命名空間:   System.Data.SqlClient
組件:  System.Data (在 System.Data.dll 中)

comm.Parameters.Add()添加参数到参数集,add里面的第一个参数是要添加的参数名,第二个参数是参数的数据类型
Parameters的作用就是把存储过程执行结束后得到的参数传到程序里

第一个是参数名,第二个是参数类型,第三个是长度



15.SqlCommand对象允许你指定在数据库上执行的操作的类型。比如,你能够对数据库中的行数据执行select,insert,modify以及delete命令。SqlCommand对象能被用来支持断开连接数据管理的情况,可以只单独使用SqlCommand对象。也可以与SqlDataAdapter一起实现断开数据连接,实现操作数据库的应用程序。这节课将同时展示如何从数据库中返回一个单独的值,比如表中记录的数量。

命名空间 System.Data.SqlClient
程序集: System.Data(在 System.Data.dll 中)

完成数据库连接后,需创建一个新的Command对象,示例代码如下所示。

SqlCommand cmd = new SqlCommand("insert into mynews value ('插入一条新数据')", conn);
Command对象的 构造函数的参数有两个,一个是需要执行的 SQL语句,另一个是数据库连接对象。创建Command对象后,就可以执行SQL命令,执行后完成并关闭 数据连接,示例代码如下所示。
cmd.ExecuteNonQuery(); //执行SQL命令
conn.Close(); //关闭连接

类的属性编辑

1.CommandText
获取或设置要对数据源执行的Transact— SQL语句存储过程[1]  
2. CommandType
获取或设置一个值,该值指示如何解释CommandText属性。
3.Connection
获取或设置SqlCommand的实例使用的 SqlConnection
4.CommandTimeOut
获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
等待命令执行的时时间(以秒为单位)。预设值为 30 秒。

类的方法 编辑
1>.ExecuteNonQuery();
它的返回值类型为int型。多用于执行增加,删除,修改数据。返回受影响的行数。
2>.ExecuteReader();
它的返回类型为 SqlDataReader。此方法用于用户进行的查询操作。使用SqlDataReader对象的Read();方法进行逐行读取。
3>.ExecuteScalar();
它的返回值类型多为int类型。它返回的多为执行select查询。得到的返回结果为一个值的情况,比如使用 count函数求表中记录个数或者使用 sum函数求和等。

4>.CreateCommand() 创建命令.

16. 一般对象的ToString方法是返回对象的名称, 但可以通过重写(override)ToString方法, 来改变此操作. 且winform listbox控件接受对象赋值时,直接调用ToString方法.

17.SQL语句中,含有中文字段时,需要用nvarchar类型, 另外, 插入记录时,需要在中文字段前加N, 如N'山东省'.


18. 引用confirguration后, 可以直接引用静态类的成员:ConfigurationManager.ConnectionStrings["ConnStr"].Connectionstring


19.FolderBrowserDialog 类 提示用户选择文件夹。无法继承此类。

命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

Properties


 NameDescription
System_CAPS_pubpropertyContainer

Gets the IContainer that contains the Component.(Inherited from Component.)

System_CAPS_pubpropertyDescription

Gets or sets the descriptive text displayed above the tree view control in the dialog box.

System_CAPS_pubpropertyRootFolder

Gets or sets the root folder where the browsing starts from.

System_CAPS_pubpropertySelectedPath

Gets or sets the path selected by the user.

System_CAPS_pubpropertyShowNewFolderButton

Gets or sets a value indicating whether the New Folder button appears in the folder browser dialog box.

System_CAPS_pubpropertySite

Gets or sets the ISite of the Component.(Inherited from Component.)

System_CAPS_pubpropertyTag

Gets or sets an object that contains data about the control. (Inherited from CommonDialog.)

 NameDescription
System_CAPS_pubmethodCreateObjRef(Type)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.(Inherited fromMarshalByRefObject.)

System_CAPS_pubmethodDispose()

Releases all resources used by the Component.(Inherited from Component.)

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited fromObject.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetLifetimeService()

Retrieves the current lifetime service object that controls the lifetime policy for this instance.(Inherited fromMarshalByRefObject.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Obtains a lifetime service object to control the lifetime policy for this instance.(Inherited fromMarshalByRefObject.)

System_CAPS_pubmethodReset()

Resets properties to their default values.(Overrides CommonDialog.Reset().)

System_CAPS_pubmethodShowDialog()

Runs a common dialog box with a default owner.(Inherited from CommonDialog.)

System_CAPS_pubmethodShowDialog(IWin32Window)

Runs a common dialog box with the specified owner.(Inherited from CommonDialog.)

System_CAPS_pubmethodToString()

Returns a String containing the name of the Component, if any. This method should not be overridden.(Inherited from Component.)

 NameDescription
System_CAPS_pubeventDisposed

Occurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)

System_CAPS_pubeventHelpRequest

This API supports the product infrastructure and is not intended to be used directly from your code. Occurs when the user clicks theHelp button on the dialog box.



20.Directory 类 公开用于通过目录和子目录进行创建、移动和枚举的静态方法。 此类不能被继承。

命名空间:   System.IO
程序集:  mscorlib(位于 mscorlib.dll)
方法


 名称说明
System_CAPS_pubmethodSystem_CAPS_staticCreateDirectory(String)

在指定路径中创建所有目录和子目录,除非它们已经存在。

System_CAPS_pubmethodSystem_CAPS_staticCreateDirectory(String, DirectorySecurity)

在指定路径中创建所有目录(除非已存在),并应用指定的 Windows 安全性。

System_CAPS_pubmethodSystem_CAPS_staticDelete(String)

从指定路径删除空目录。

System_CAPS_pubmethodSystem_CAPS_staticDelete(String, Boolean)

删除指定的目录,并删除该目录中的所有子目录和文件(如果表示)。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateDirectories(String)

返回指定路径中的目录名的可枚举集合。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateDirectories(String, String)

返回指定路径中与搜索模式匹配的目录名的可枚举集合。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateDirectories(String, String, SearchOption)

返回指定路径中与搜索模式匹配的目录名称的可枚举集合,还可以搜索子目录。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateFiles(String)

返回指定路径中的文件名的可枚举集合。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateFiles(String, String)

返回指定路径中与搜索模式匹配的文件名称的可枚举集合。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateFiles(String, String, SearchOption)

返回指定路径中与搜索模式匹配的文件名称的可枚举集合,还可以搜索子目录。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateFileSystemEntries(String)

返回指定路径中的文件名和目录名的可枚举集合。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateFileSystemEntries(String, String)

返回指定路径中与搜索模式匹配的文件名和目录名的可枚举集合。

System_CAPS_pubmethodSystem_CAPS_staticEnumerateFileSystemEntries(String, String, SearchOption)

返回指定路径中与搜索模式匹配的文件名称和目录名的可枚举集合,还可以搜索子目录。

System_CAPS_pubmethodSystem_CAPS_staticExists(String)

确定给定路径是否引用磁盘上的现有目录。

System_CAPS_pubmethodSystem_CAPS_staticGetAccessControl(String)

获取 DirectorySecurity 对象,该对象封装指定目录的访问控制列表 (ACL) 项。

System_CAPS_pubmethodSystem_CAPS_staticGetAccessControl(String, AccessControlSections)

获取一个 DirectorySecurity 对象,它封装指定目录的指定类型的访问控制列表 (ACL) 条目。

System_CAPS_pubmethodSystem_CAPS_staticGetCreationTime(String)

获取目录的创建日期和时间。

System_CAPS_pubmethodSystem_CAPS_staticGetCreationTimeUtc(String)

获取目录创建的日期和时间,其格式为协调通用时 (UTC)。

System_CAPS_pubmethodSystem_CAPS_staticGetCurrentDirectory()

获取应用程序的当前工作目录。

System_CAPS_pubmethodSystem_CAPS_staticGetDirectories(String)

返回指定目录中的子目录的名称(包括其路径)。

System_CAPS_pubmethodSystem_CAPS_staticGetDirectories(String, String)

返回指定目录中与指定的搜索模式匹配的子目录的名称(包括其路径)。

System_CAPS_pubmethodSystem_CAPS_staticGetDirectories(String, String, SearchOption)

返回与在指定目录中的指定搜索模式匹配的子目录的名称(包括其路径),还可以选择地搜索子目录。

System_CAPS_pubmethodSystem_CAPS_staticGetDirectoryRoot(String)

返回指定路径的卷信息、根信息或两者同时返回。

System_CAPS_pubmethodSystem_CAPS_staticGetFiles(String)

返回指定目录中文件的名称(包括其路径)。

System_CAPS_pubmethodSystem_CAPS_staticGetFiles(String, String)

返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径)。

System_CAPS_pubmethodSystem_CAPS_staticGetFiles(String, String, SearchOption)

返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径),使用某个值确定是否要搜索子目录。

System_CAPS_pubmethodSystem_CAPS_staticGetFileSystemEntries(String)

返回指定路径中的所有文件和子目录的名称。

System_CAPS_pubmethodSystem_CAPS_staticGetFileSystemEntries(String, String)

返回与指定路径中搜索模式匹配的文件名和目录名的数组。

System_CAPS_pubmethodSystem_CAPS_staticGetFileSystemEntries(String, String, SearchOption)

返回指定路径中与搜索模式匹配的所有文件名和目录名的数组,还可以搜索子目录。

System_CAPS_pubmethodSystem_CAPS_staticGetLastAccessTime(String)

返回上次访问指定文件或目录的日期和时间。

System_CAPS_pubmethodSystem_CAPS_staticGetLastAccessTimeUtc(String)

返回上次访问指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。

System_CAPS_pubmethodSystem_CAPS_staticGetLastWriteTime(String)

返回上次写入指定文件或目录的日期和时间。

System_CAPS_pubmethodSystem_CAPS_staticGetLastWriteTimeUtc(String)

返回上次写入指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。

System_CAPS_pubmethodSystem_CAPS_staticGetLogicalDrives()

检索此计算机上格式为 "<drive letter>:\" 的逻辑驱动器的名称。

System_CAPS_pubmethodSystem_CAPS_staticGetParent(String)

检索指定路径的父目录,包括绝对路径和相对路径。

System_CAPS_pubmethodSystem_CAPS_staticMove(String, String)

将文件或目录及其内容移到新位置。

System_CAPS_pubmethodSystem_CAPS_staticSetAccessControl(String, DirectorySecurity)

DirectorySecurity 对象描述的访问控制列表 (ACL) 项应用于指定的目录。

System_CAPS_pubmethodSystem_CAPS_staticSetCreationTime(String, DateTime)

为指定的文件或目录设置创建日期和时间。

System_CAPS_pubmethodSystem_CAPS_staticSetCreationTimeUtc(String, DateTime)

设置指定文件或目录的创建日期和时间,其格式为协调通用时 (UTC)。

System_CAPS_pubmethodSystem_CAPS_staticSetCurrentDirectory(String)

将应用程序的当前工作目录设置为指定的目录。

System_CAPS_pubmethodSystem_CAPS_staticSetLastAccessTime(String, DateTime)

设置上次访问指定文件或目录的日期和时间。

System_CAPS_pubmethodSystem_CAPS_staticSetLastAccessTimeUtc(String, DateTime)

设置上次访问指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。

System_CAPS_pubmethodSystem_CAPS_staticSetLastWriteTime(String, DateTime)

设置上次写入目录的日期和时间。

System_CAPS_pubmethodSystem_CAPS_staticSetLastWriteTimeUtc(String, DateTime)

设置上次写入某个目录的日期和时间,其格式为协调通用时 (UTC)。



21.Path 类 对包含文件或目录路径信息的String 实例执行操作。 这些操作是以跨平台的方式执行的。
命名空间:   System.IO
程序集:  mscorlib(位于 mscorlib.dll)
方法

 名称说明
System_CAPS_pubmethodSystem_CAPS_staticChangeExtension(String, String)

更改路径字符串的扩展名。

System_CAPS_pubmethodSystem_CAPS_staticCombine(String, String)

将两个字符串组合成一个路径。

System_CAPS_pubmethodSystem_CAPS_staticCombine(String, String, String)

将三个字符串组合成一个路径。

System_CAPS_pubmethodSystem_CAPS_staticCombine(String, String, String, String)

将四个字符串组合成一个路径。

System_CAPS_pubmethodSystem_CAPS_staticCombine(String[])

将字符串数组组合成一个路径。

System_CAPS_pubmethodSystem_CAPS_staticGetDirectoryName(String)

返回指定路径字符串的目录信息。

System_CAPS_pubmethodSystem_CAPS_staticGetExtension(String)

返回指定的路径字符串的扩展名。

System_CAPS_pubmethodSystem_CAPS_staticGetFileName(String)

返回指定路径字符串的文件名和扩展名。

System_CAPS_pubmethodSystem_CAPS_staticGetFileNameWithoutExtension(String)

返回不具有扩展名的指定路径字符串的文件名。

System_CAPS_pubmethodSystem_CAPS_staticGetFullPath(String)

返回指定路径字符串的绝对路径。

System_CAPS_pubmethodSystem_CAPS_staticGetInvalidFileNameChars()

获取包含不允许在文件名中使用的字符的数组。

System_CAPS_pubmethodSystem_CAPS_staticGetInvalidPathChars()

获取包含不允许在路径名中使用的字符的数组。

System_CAPS_pubmethodSystem_CAPS_staticGetPathRoot(String)

获取指定路径的根目录信息。

System_CAPS_pubmethodSystem_CAPS_staticGetRandomFileName()

返回随机文件夹名或文件名。

System_CAPS_pubmethodSystem_CAPS_staticGetTempFileName()

在磁盘上创建磁唯一命名的零字节的临时文件并返回该文件的完整路径。

System_CAPS_pubmethodSystem_CAPS_staticGetTempPath()

返回当前用户的临时文件夹的路径。

System_CAPS_pubmethodSystem_CAPS_staticHasExtension(String)

确定路径是否包括文件扩展名。

System_CAPS_pubmethodSystem_CAPS_staticIsPathRooted(String)

获取一个值,该值指示指定的路径字符串是否包含根。

 名称说明
System_CAPS_pubfieldSystem_CAPS_staticAltDirectorySeparatorChar

提供平台特定的替换字符,该替换字符用于在反映分层文件系统组织的路径字符串中分隔目录级别。

System_CAPS_pubfieldSystem_CAPS_staticDirectorySeparatorChar

提供平台特定的字符,该字符用于在反映分层文件系统组织的路径字符串中分隔目录级别。

System_CAPS_pubfieldSystem_CAPS_staticInvalidPathChars

已过时。 提供平台特定的字符数组,这些字符不能在传递到 Path 类的成员的路径字符串参数中指定。

System_CAPS_pubfieldSystem_CAPS_staticPathSeparator

用于在环境变量中分隔路径字符串的平台特定的分隔符。

System_CAPS_pubfieldSystem_CAPS_staticVolumeSeparatorChar

提供平台特定的卷分隔符。




22.File.ReadAllLines(file,Encoding.Default); 可以指定编码类型,因含中文的默认为ANSI编码,而VS则为UTC-8. 即一些类型中的方法是含有指定编码参数的.

23. 示例:public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters) //注意可变参数的设置.

24.由于SqlDataReader是连接相关的,其查询结果是放在服务器上的, 主要是为了减少程序运行时的内存损耗.但对于小数据量的查询而言,但带来较多的麻烦.因此,可以使用DataSet替代. 简单代码如下:
DataSet dataset=new DataSet();
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
adapter.Fill(dataset);
DataTable table=dataset.tables[0];
for(i=0;i<table.Rows.Count;i++)
{
DataRow row=table.Rows[i];
}

DataSet是 ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开 数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的 数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。

DataTable是一个临时保存数据的网格虚拟表(表示内存中数据的一个表。)。DataTable是ADO dot net 库中的核心对象。它可以被应用在 VB 和 ASP 上。它无须代码就可以简单的绑定数据库。它具有微软风格的用户界面。其他使用DataTable的对象包括DataSet和DataView。

SqlDataAdapter是 DataSet和 SQL Server之间的 桥接器。SqlDataAdapter通过对 数据源使用适当的 Transact-SQL语句映射 Fill(它可填充DataSet中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet中的数据)来提供这一桥接。当SqlDataAdapter填充 DataSet时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。


24.在C#中int是不可为空NULL的, 但int? 刚表示为可空类型的int.从而解决了C#和数据库对于相关数据类型的不匹配问题. 但int?转换为int时,可以通过显式转换,也可以通过包装类型的value属性进行赋值 .

25.一般DataSet是弱类型的,故需要通过列名来引用.

26.VS提供了强类型的DataSet类型. 但需要通过update进行操作,才能更新到与数据库同步.

27.类 Stopwathc可以在C#进行计时功能..Start(), .Stop(),表示开始与结束. .Elapsed表示延续时间.
     在进行数据批量操作时,可以设置减少数据库的连接次数.



28.














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值