From 68bb3400cf72d2275445b5e21b3330f7fe2cc1a8 Mon Sep 17 00:00:00 2001
From: 2881099 <2881099@qq.com>
Date: Thu, 30 Mar 2023 18:45:01 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E5=A2=9E=E5=8A=A0=20=E8=99=9A=E8=B0=B7?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=20FreeSql.Provider.Xugu=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql-lite.sln | 19 +-
FreeSql/DataType.cs | 7 +-
FreeSql/FreeSql.xml | 5 +
FreeSql/FreeSqlBuilder.cs | 9 +-
.../FreeSql.Provider.Xugu.csproj | 41 +
.../FreeSql.Provider.Xugu/lib/XuguClient.dll | Bin 0 -> 101888 bytes
.../FreeSql.Provider.Xugu/lib/XuguClient.xml | 1713 +++++++++++++++++
7 files changed, 1789 insertions(+), 5 deletions(-)
create mode 100644 Providers/FreeSql.Provider.Xugu/FreeSql.Provider.Xugu.csproj
create mode 100644 Providers/FreeSql.Provider.Xugu/lib/XuguClient.dll
create mode 100644 Providers/FreeSql.Provider.Xugu/lib/XuguClient.xml
diff --git a/FreeSql-lite.sln b/FreeSql-lite.sln
index 4c743d4f..5cac5dff 100644
--- a/FreeSql-lite.sln
+++ b/FreeSql-lite.sln
@@ -87,6 +87,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "orm_vs", "Examples\orm_vs\o
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Provider.QuestDb", "Providers\FreeSql.Provider.QuestDb\FreeSql.Provider.QuestDb.csproj", "{FEE501EB-60D1-4370-BC65-F939BCA7F32E}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Provider.Xugu", "Providers\FreeSql.Provider.Xugu\FreeSql.Provider.Xugu.csproj", "{353F3732-0704-40F2-972B-036E9CC01881}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -481,6 +483,18 @@ Global
{FEE501EB-60D1-4370-BC65-F939BCA7F32E}.Release|x64.Build.0 = Release|Any CPU
{FEE501EB-60D1-4370-BC65-F939BCA7F32E}.Release|x86.ActiveCfg = Release|Any CPU
{FEE501EB-60D1-4370-BC65-F939BCA7F32E}.Release|x86.Build.0 = Release|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Debug|x64.Build.0 = Debug|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Debug|x86.Build.0 = Debug|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Release|Any CPU.Build.0 = Release|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Release|x64.ActiveCfg = Release|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Release|x64.Build.0 = Release|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Release|x86.ActiveCfg = Release|Any CPU
+ {353F3732-0704-40F2-972B-036E9CC01881}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -514,10 +528,11 @@ Global
{5C78C4CE-3CDC-49C3-AF34-556567B95F2A} = {4A92E8A6-9A6D-41A1-9CDA-DE10899648AA}
{9D7EA01A-110A-4A0C-A46B-9A0FBC88DD3D} = {94C8A78D-AA15-47B2-A348-530CD86BFC1B}
{FEE501EB-60D1-4370-BC65-F939BCA7F32E} = {2A381C57-2697-427B-9F10-55DA11FD02E4}
+ {353F3732-0704-40F2-972B-036E9CC01881} = {2A381C57-2697-427B-9F10-55DA11FD02E4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- RESX_NeutralResourcesLanguage = en-US
- RESX_PrefixTranslations = True
SolutionGuid = {089687FA-5D21-40AC-BA8A-AA0D1E1H7F98}
+ RESX_PrefixTranslations = True
+ RESX_NeutralResourcesLanguage = en-US
EndGlobalSection
EndGlobal
diff --git a/FreeSql/DataType.cs b/FreeSql/DataType.cs
index 05825cf2..d3d4a7f3 100644
--- a/FreeSql/DataType.cs
+++ b/FreeSql/DataType.cs
@@ -8,7 +8,7 @@ namespace FreeSql
MySql, SqlServer, PostgreSQL, Oracle, Sqlite,
- OdbcOracle, OdbcSqlServer, OdbcMySql, OdbcPostgreSQL,
+ OdbcOracle, OdbcSqlServer, OdbcMySql, OdbcPostgreSQL,
///
/// 通用的 Odbc 实现,只能做基本的 Crud 操作
@@ -71,6 +71,11 @@ namespace FreeSql
QuestDb,
+ ///
+ /// 虚谷
+ ///
+ Xugu,
+
CustomOracle, CustomSqlServer, CustomMySql, CustomPostgreSQL
}
}
diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml
index b7a2ea43..5323d7da 100644
--- a/FreeSql/FreeSql.xml
+++ b/FreeSql/FreeSql.xml
@@ -719,6 +719,11 @@
天津南大通用数据技术股份有限公司成立于2004年,是国产数据库、大数据领域的知名企业,基于 Odbc 的实现
+
+
+ 虚谷
+
+
获取 IDbConnection 对应的 IFreeSql 实例
diff --git a/FreeSql/FreeSqlBuilder.cs b/FreeSql/FreeSqlBuilder.cs
index 3a9898a5..7aedbcac 100644
--- a/FreeSql/FreeSqlBuilder.cs
+++ b/FreeSql/FreeSqlBuilder.cs
@@ -268,7 +268,7 @@ namespace FreeSql
type = Type.GetType("FreeSql.Odbc.Default.OdbcProvider`1,FreeSql.Provider.Odbc")?.MakeGenericType(typeof(TMark));
if (type == null) throwNotFind("FreeSql.Provider.Odbc.dll", "FreeSql.Odbc.Default.OdbcProvider<>");
break;
-
+
case DataType.OdbcDameng:
type = Type.GetType("FreeSql.Odbc.Dameng.OdbcDamengProvider`1,FreeSql.Provider.Odbc")?.MakeGenericType(typeof(TMark));
if (type == null) throwNotFind("FreeSql.Provider.Odbc.dll", "FreeSql.Odbc.Dameng.OdbcDamengProvider<>");
@@ -325,6 +325,11 @@ namespace FreeSql
throwNotFind("FreeSql.Provider.QuestDb.dll", "FreeSql.QuestDb.QuestDbProvider<>");
break;
+ case DataType.Xugu:
+ type = Type.GetType("FreeSql.Xugu.XuguProvider`1,FreeSql.Provider.Xugu")?.MakeGenericType(typeof(TMark));
+ if (type == null) throwNotFind("FreeSql.Provider.Xugu.dll", "FreeSql.Xugu.XuguProvider<>");
+ break;
+
case DataType.CustomOracle:
type = Type.GetType("FreeSql.Custom.Oracle.CustomOracleProvider`1,FreeSql.Provider.Custom")?.MakeGenericType(typeof(TMark));
if (type == null) throwNotFind("FreeSql.Provider.Custom.dll", "FreeSql.Custom.Oracle.CustomOracleProvider<>");
@@ -344,7 +349,7 @@ namespace FreeSql
type = Type.GetType("FreeSql.Custom.PostgreSQL.CustomPostgreSQLProvider`1,FreeSql.Provider.Custom")?.MakeGenericType(typeof(TMark));
if (type == null) throwNotFind("FreeSql.Provider.Custom.dll", "FreeSql.Custom.PostgreSQL.CustomPostgreSQLProvider<>");
break;
-
+
default: throw new Exception(CoreStrings.NotSpecified_UseConnectionString_UseConnectionFactory);
}
}
diff --git a/Providers/FreeSql.Provider.Xugu/FreeSql.Provider.Xugu.csproj b/Providers/FreeSql.Provider.Xugu/FreeSql.Provider.Xugu.csproj
new file mode 100644
index 00000000..a637ce53
--- /dev/null
+++ b/Providers/FreeSql.Provider.Xugu/FreeSql.Provider.Xugu.csproj
@@ -0,0 +1,41 @@
+
+
+
+ net60
+ true
+ FreeSql;ncc;YeXiangQin
+ FreeSql 数据库实现,基于 虚谷数据库 Ado.Net (XuguClient.dll)
+ https://github.com/2881099/FreeSql
+ https://github.com/2881099/FreeSql
+ git
+ MIT
+ FreeSql;ORM;虚谷;xugu;XuguClient
+ $(AssemblyName)
+ logo.png
+ $(AssemblyName)
+ true
+ true
+ 3.2.693
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lib\XuguClient.dll
+ false
+
+
+
+
diff --git a/Providers/FreeSql.Provider.Xugu/lib/XuguClient.dll b/Providers/FreeSql.Provider.Xugu/lib/XuguClient.dll
new file mode 100644
index 0000000000000000000000000000000000000000..1860eee15bc7cc35ab889854ca1a4f3e7c67a54a
GIT binary patch
literal 101888
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
+
+
+ XuguClient
+
+
+
+
+ 摘要:
+ 表示要对数据源执行的 SQL 语句或存储过程。
+
+
+
+
+ 摘要:
+ 是否在下面的查询语句使用服务器端游标
+ 默认是不启用游标
+ add 2016-02-04
+
+
+
+
+ 摘要:
+ 获取 System.Data.Common.DbParameter 对象的集合。 有关参数的更多信息,请参见 配置参数和参数数据类型。
+ 返回结果:
+ SQL 语句或存储过程的参数。
+
+
+
+
+ 摘要:
+ 开启批量执行多行参数绑定标志
+ !=0 时 启动多行绑定功能
+
+
+
+
+ 摘要:
+ 获取或设置针对数据源运行的文本命令。
+ 返回结果:
+ 要执行的文本命令。 默认值为空字符串 ("")。
+
+
+
+
+ 摘要:
+ 获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
+
+ 返回结果:
+ 等待命令执行的时间(以秒为单位)。
+
+
+
+
+ 摘要:
+ 获取或设置此 XGCommand 使用的 XGConnection。
+ 返回结果:
+ 与数据源的连接。
+
+
+
+
+ 摘要:
+ 释放由XGCommand 使用的托管资源,还可以选择释放非托管资源。
+
+
+
+
+
+ 摘要:
+ 获取或设置将在其中执行此 System.Data.Common.DbCommand 对象的 System.Data.Common.DbTransaction。
+ 返回结果:
+ 要在其中执行 .NET Framework 数据提供程序的 Command 对象的事务。 默认值为 null 引用(在 Visual Basic
+ 中为 Nothing)。
+
+
+
+
+ 摘要:
+ 指示或指定如何解释 System.Data.Common.DbCommand.CommandText 属性。
+ 返回结果:
+ System.Data.CommandType 值之一。 默认值为 Text。
+
+
+
+
+ 摘要:
+ 获取或设置一个值,该值指示此命令对象在自定义界面控件中是否可见。
+ 返回结果:
+ 如果该命令对象应在控件中可见,则为 true;否则为 false。
+
+
+
+
+ 摘要:
+ 获取或设置命令结果在由 System.Data.Common.DbDataAdapter 的 Update 方法使用时如何应用于 System.Data.DataRow。
+
+ 返回结果:
+ System.Data.UpdateRowSource 值之一。 如果该命令不是自动生成的,则默认值为 Both。 否则,默认值为 None。
+
+
+
+
+ 摘要:
+ 尝试取消 XGCommand 的执行。
+
+
+
+
+ 摘要:
+ 在数据源上创建该命令的准备好的(或已编译的)版本。
+ 该功能目前不可用
+
+
+
+
+ 摘要:
+ 对连接对象执行 SQL 语句。
+ 返回结果:
+ 受影响的行数。
+ 异常:
+ System.InValidConnectionException:
+ 指定的连接无效或者尚未打开。
+ System.commandtextException:
+ CommandText不能为空
+
+
+
+
+ 摘要:
+ 针对 System.Data.Common.DbCommand.Connection 执行 System.Data.Common.DbCommand.CommandText,并返回
+ XGDataReader。
+
+ 返回结果:
+ System.Data.Common.DbDataReader 对象。
+
+
+
+
+ 摘要:
+ 针对 System.Data.Common.DbCommand.Connection 执行 System.Data.Common.DbCommand.CommandText,并使用
+ System.Data.CommandBehavior 值之一返回 System.Data.Common.DbDataReader。
+
+ 参数:
+ behavior:
+ System.Data.CommandBehavior 值之一。
+
+ 返回结果:
+ XGDataReader 对象。
+
+
+
+
+ 摘要:
+ 获取或设置将在其中执行此 System.Data.Common.DbCommand 对象的 System.Data.Common.DbCommand.DbTransaction。
+ 返回结果:
+ 要在其中执行 .NET Framework 数据提供程序的 Command 对象的事务。 默认值为 null 引用(在 Visual Basic
+ 中为 Nothing)。
+
+
+
+
+ 摘要:
+ 获取或设置此 System.Data.Common.DbCommand 使用的 System.Data.Common.DbConnection。
+ 返回结果:
+ 与数据源的连接。
+
+
+
+
+ 摘要:
+ 获取 System.Data.Common.DbParameter 对象的集合。
+ 返回结果:
+ SQL 语句或存储过程的参数。
+
+
+
+
+ 摘要:
+ 创建 System.Data.Common.DbParameter 对象的新实例。
+ 返回结果:
+ System.Data.Common.DbParameter 对象。
+
+
+
+
+ 摘要:
+ 对连接执行命令文本。
+ 参数:
+ behavior:
+ System.Data.CommandBehavior 的一个实例。
+ 返回结果:
+ 表示该操作的任务。
+ 异常:
+ System.Data.Common.DbException:
+ 执行命令文本时出现的一个错误。
+ System.ArgumentException:
+ System.Data.CommandBehavior 值无效。
+
+
+
+
+ 摘要:
+ 获取或设置用于打开连接的字符串。
+ 返回结果:
+ 用来建立初始连接的连接字符串。该连接字符串的确切内容取决于此连接的特定数据源。默认值为空字符串。
+
+
+
+
+ 摘要:
+ 获取描述连接状态的字符串。
+
+ 返回结果:
+ 连接的状态。 返回的字符串的格式取决于您正在使用的连接的特定类型。
+
+
+
+
+ 摘要:
+ 获取在建立连接时终止尝试并生成错误之前所等待的时间。
+ 返回结果:
+ 等待连接打开的时间(以秒为单位)。 默认值是由您正在使用的连接的特定类型确定的。
+
+
+
+
+ 摘要:
+ 在连接打开之后获取当前数据库的名称,或者在连接打开之前获取连接字符串中指定的数据库名。
+ 返回结果:
+ 当前数据库的名称或连接打开后要使用的数据库的名称。 默认值为空字符串。
+
+
+
+
+ 摘要:
+ 获取要连接的数据库服务器的名称。
+ 返回结果:
+ 要连接的数据库服务器的名称。 默认值为空字符串。
+
+
+
+
+ 摘要:
+ 获取表示对象所连接到的服务器的版本的字符串。
+ 返回结果:
+ 数据库的版本。 返回的字符串的格式取决于您正在使用的连接的特定类型。
+ 异常:
+ System.InValidConnectionException:
+ 连接尚未处于活动状态
+ System.InvalidOperationException:
+ 当返回的任务尚未完成,且调用 Overload:System.Data.Common.DbConnection.OpenAsync 后连接并未打开时,将调用
+ System.Data.Common.DbConnection.ServerVersion。
+
+
+
+
+ 摘要:
+ 开始数据库事务。
+
+ 返回结果:
+ 表示新事务的对象。
+
+
+
+
+ 摘要:
+ 以指定的隔离级别启动数据库事务。
+
+ 参数:
+ isolationLevel:
+ 指定事务的隔离级别。
+
+ 返回结果:
+ 表示新事务的对象。
+
+
+
+
+ 摘要:
+ 为打开的连接更改当前数据库。
+
+ 参数:
+ databaseName:
+ 为要使用的连接指定数据库名称。
+
+
+
+
+ 摘要:
+ 当事件状态更改时发生。
+
+
+
+
+ 摘要:
+ 创建并返回与当前连接关联的 System.Data.Common.DbCommand 对象。
+
+ 返回结果:
+ System.Data.Common.DbCommand 对象。
+
+
+
+
+ 摘要:
+ 返回此 System.Data.Common.DbConnection 的数据源的架构信息。
+ 此版本驱动不支持此功能
+ 返回结果:
+ 包含架构信息的 System.Data.DataTable。
+
+
+
+
+ 摘要:
+ 使用表示架构名称的指定字符串返回此 System.Data.Common.DbConnection 的数据源的架构信息。
+
+ 参数:
+ collectionName:
+ 指定要返回的架构的名称。
+
+ 返回结果:
+ 包含架构信息的 System.Data.DataTable。
+
+ 异常:
+ System.ArgumentException:
+ collectionName 被指定为空。
+
+
+
+
+ 摘要:
+ 使用表示架构名称的指定字符串以及表示限制值的指定字符串数组返回此 System.Data.Common.DbConnection 的数据源的架构信息。
+
+ 参数:
+ collectionName:
+ 指定要返回的架构的名称。
+
+ restrictionValues:
+ 为请求的架构指定一组限制值。
+
+ 返回结果:
+ 包含架构信息的 System.Data.DataTable。
+
+ 异常:
+ System.ArgumentException:
+ collectionName 被指定为空。
+
+
+
+
+ 摘要:
+ 使用 System.Data.Common.DbConnection.ConnectionString 所指定的设置打开数据库连接。
+
+
+
+
+ 摘要:
+ 关闭与数据库的连接。 此方法是关闭任何已打开连接的首选方法。
+
+ 异常:
+ System.Data.Common.DbException:
+ 在打开连接时出现连接级别的错误。
+
+
+
+
+ 摘要:
+ 释放资源
+
+
+
+
+ 关闭服务器端游标
+
+
+
+
+ 摘要:
+ 开始数据库事务。
+
+ 参数:
+ isolationLevel:
+ 指定事务的隔离级别。
+
+ 返回结果:
+ 表示新事务的对象。
+
+
+
+
+ 摘要:
+ 获取此 System.Data.Common.DbConnection 的 System.Data.Common.DbProviderFactory。
+ 返回结果:
+ 一组方法的集合,这些方法用于创建提供程序对数据源类的实现的实例。
+
+
+
+
+ 摘要:
+ 创建并返回与当前连接关联的 System.Data.Common.DbCommand 对象。
+
+ 返回结果:
+ System.Data.Common.DbCommand 对象。
+
+
+
+
+ 摘要:
+ 引发 System.Data.Common.DbConnection.StateChange 事件。
+
+ 参数:
+ stateChange:
+ 包含事件数据的 System.Data.StateChangeEventArgs。
+
+
+
+
+ 如果连接字符串在设计器中可见,则为 true;否则为 false。默认值为 true。
+
+
+
+
+ DbConnectionStringBuilder 是否具有固定大小。
+
+
+
+
+ DbConnectionStringBuilder 是否为只读。
+
+
+
+
+ 返回 一个 System.Collections.ICollection 内部包含System.Data.Common.DbConnectionStringBuilder 中的键。
+
+
+
+
+ 摘要:
+ 获取或设置与指定的键关联的值。
+
+ 参数:
+ keyword:
+ 要获取或设置的项的键。
+
+ 返回结果:
+ 与指定的键相关联的值。 如果指定键未找到,尝试让其返回空引用(在 Visual Basic 中为 Nothing),并尝试设置为使用指定键创建新的元素。
+ 传递 null 键(在 Visual Basic 中为 Nothing)将引发 System.ArgumentNullException。 分配一个删除键/值对的
+ null 值。
+
+ 异常:
+ T:System.ArgumentNullException:
+ keyword 为空引用(在 Visual Basic 中为 Nothing)。
+
+ T:System.NotSupportedException:
+ 设置了该属性,但 System.Data.Common.DbConnectionStringBuilder 为只读。 - 或 - 设置了该属性,但 keyword
+ 不存在于集合中,且 System.Data.Common.DbConnectionStringBuilder 具有固定的大小。
+
+
+
+
+ 摘要:
+ 将带有指定键和值的条目添加到 System.Data.Common.DbConnectionStringBuilder 中。
+
+ 参数:
+ keyword:
+ 要添加到 System.Data.Common.DbConnectionStringBuilder 的键。
+
+ value:
+ 指定键的值。
+
+ 异常:
+ T:System.ArgumentNullException:
+ keyword 为空引用(在 Visual Basic 中为 Nothing)。
+
+ T:System.NotSupportedException:
+ System.Data.Common.DbConnectionStringBuilder 为只读。 - 或 - System.Data.Common.DbConnectionStringBuilder
+ 具有固定的大小。
+
+
+
+
+ 摘要:
+ 清除 System.Data.Common.DbConnectionStringBuilder 实例的内容。
+
+ 异常:
+ T:System.NotSupportedException:
+ System.Data.Common.DbConnectionStringBuilder 为只读。
+
+
+
+
+ 摘要:
+ 清除关联的 System.Data.Common.DbConnectionStringBuilder 上的 System.ComponentModel.PropertyDescriptor
+ 对象集合。
+ 清除关联的 PropertyDescriptor 上的 DbConnectionStringBuilder 对象集合。
+
+ 注解
+ 设计器使用此方法清除 DbConnectionStringBuilder上的所有关联属性说明符。
+
+
+
+
+ 摘要:
+ 确定 XGConnectionStringBuilder 是否包含特定键。
+
+ 参数:
+ keyword:
+ 要在 XGConnectionStringBuilder 中定位的键。
+
+ 返回结果:
+ 如果 XGConnectionStringBuilder 包含具有指定键的项,则为 true;否则为 false。
+
+ 异常:
+ T:System.ArgumentNullException:
+ keyword 为空引用(在 Visual Basic 中为 Nothing)。
+
+
+
+
+ 摘要:
+ 将此 System.Data.Common.DbConnectionStringBuilder 对象中的连接信息与提供的对象中的连接信息进行比较。
+
+ 参数:
+ connectionStringBuilder:
+ 要与此 System.Data.Common.DbConnectionStringBuilder 对象进行比较的 System.Data.Common.DbConnectionStringBuilder。
+
+ 返回结果:
+ 如果两个 System.Data.Common.DbConnectionStringBuilder 对象中的连接信息生成等效的连接字符串,则为 true;否则为
+ false。
+
+
+
+
+ 摘要:
+ 使用有关此 Hashtable 的所有属性的信息,填充提供的 DbConnectionStringBuilder。
+
+ 参数
+ propertyDescriptors
+ Hashtable
+ 使用有关此 Hashtable 的信息填充的 DbConnectionStringBuilder。
+
+
+
+
+ 摘要:
+ 从 System.Data.Common.DbConnectionStringBuilder 实例中移除具有指定的键的项。
+
+ 参数:
+ keyword:
+ 要从此 System.Data.Common.DbConnectionStringBuilder 中的连接字符串移除的键/值对中的键。
+
+ 返回结果:
+ 如果该键存在于连接字符串中并已被移除,则为 true;如果该键不存在,则为 false。
+
+ 异常:
+ T:System.ArgumentNullException:
+ keyword 为 Null(在 Visual Basic 中为 Nothing)
+
+ T:System.NotSupportedException:
+ System.Data.Common.DbConnectionStringBuilder 是只读,或 System.Data.Common.DbConnectionStringBuilder
+ 具有固定的大小。
+
+
+
+
+ 摘要:
+ 指示此 XGConnectionStringBuilder 实例中是否存在指定的键。
+ 参数
+ keyword
+ String
+ 要在 XGConnectionStringBuilder 中定位的键。
+ 返回
+ Boolean
+ 如果 true 包含具有指定键的项,则为 XGConnectionStringBuilder;否则为 false。
+ 注解
+ 此方法的行为与 ContainsKey 方法完全相同。
+
+
+
+
+ 摘要:
+ 返回与此 System.Data.Common.DbConnectionStringBuilder 关联的连接字符串。
+
+ 返回结果:
+ 当前 System.Data.Common.DbConnectionStringBuilder.ConnectionString 属性。
+
+
+
+
+ 摘要:
+ 从此 System.Data.Common.DbConnectionStringBuilder 中检索与提供的键相对应的值。
+
+ 参数:
+ keyword:
+ 要检索的项的键。
+
+ value:
+ 与 key 对应的值。
+
+ 返回结果:
+ 如果在连接字符串中找到 keyword,则为 true,否则为 false。
+
+ 异常:
+ T:System.ArgumentNullException:
+ keyword 包含一个 null 值(在 Visual Basic 中为 Nothing)。
+
+
+
+
+ 摘要:
+ 用一个 SQL SELECT 语句和一个 XuguCsConnecion初始化 XGDataAdapter 类的新实例。
+ selectCommandText: 一个字符串,表示将由 XGDataAdapter 的 XGDataAdapter.SelectCommand 属性使用的 SQL SELECT 语句或存储过程。
+ selectConnection: 表示连接的 XGConnection。
+
+
+
+
+ 摘要:
+ 使用 SQL SELECT 语句和连接字符串初始化 XGDataAdapter类的新实例。
+ selectCommandText: 一个字符串,表示将由 XGDataAdapter 的 XGDataAdapter.SelectCommand 属性使用的 SQL SELECT 语句或存储过程。
+ selectConnectionString: 连接字符串。
+
+
+
+
+ 从查询SQL中获取完整表名(模式名.表名)
+
+ 查询SQL
+ 表名 或 模式名.表名
+
+
+
+ 摘要:
+ 获取一个值,该值指示当前行的嵌套深度。
+
+ 返回结果:
+ 当前行的嵌套深度。
+
+
+
+
+ 摘要:
+ 获取当前行中的列数。
+
+ 返回结果:
+ 当前行中的列数。
+
+ 异常:
+ System.NotSupportedException:
+ 没有对 SQL Server 实例的当前连接。
+
+
+
+
+ 摘要:
+ 获取一个值,它指示此 XGDataReader是否包含一个或多个行。
+
+ 返回结果:
+ 如果 XGDataReader 包含一行或多行,则为 true;否则为 false。
+ 异常:
+ System.InvalidOperationException:
+ XGDataReader 是关闭的。
+
+
+
+
+ 摘要:
+ 获取一个值,该值指示 XGDataReader 是否已关闭。
+
+ 返回结果:
+ 如果 XGDataReader 已关闭,则为 true;否则为 false。
+
+ 异常:
+ System.InvalidOperationException:
+ XGDataReader 是关闭的。
+
+
+
+
+ 摘要:
+ 通过执行 SQL 语句获取更改、插入或删除的行数。
+
+ 返回结果:
+ 更改、插入或删除的行数。 对于 SELECT 语句为 -1;如果没影响任何行或该语句失败,则为 0。
+ 异常:
+ System.InvalidOperationException:
+ XGDataReader 是关闭的。
+
+
+
+
+ 摘要:
+ 获取指定列的作为 System.Object 的实例的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.IndexOutOfRangeException:
+ 传递的索引位于 0 至 System.Data.IDataRecord.FieldCount 的范围之外。
+
+
+
+
+ 摘要:
+ 获取指定列的作为 System.Object 的实例的值。
+
+ 参数:
+ name:
+ 列的名称。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.IndexOutOfRangeException:
+ 未找到具有指定名称的列。
+
+
+
+
+ 摘要:
+ 关闭 XGDataReader 对象。
+
+
+
+
+ 摘要:
+ 释放由 XGDataReader 类的当前实例占用的所有资源。
+
+
+
+
+ 摘要:
+ 获取指定列的布尔值形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的字节形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 从指定列读取一个字节流(从 dataOffset 指示的位置开始),读到缓冲区中(从 bufferOffset 指示的位置开始)。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ dataOffset:
+ 行中的索引,从其开始读取操作。
+
+ buffer:
+ 作为数据复制目标的缓冲区。
+
+ bufferOffset:
+ 具有作为数据复制目标的缓冲区的索引。
+
+ length:
+ 最多读取的字符数。
+
+ 返回结果:
+ 读取的实际字节数。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的单个字符串形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 从指定列读取一个字符流,从 dataOffset 指示的位置开始,读到缓冲区中,从 bufferOffset 指示的位置开始。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ dataOffset:
+ 行中的索引,从其开始读取操作。
+
+ buffer:
+ 作为数据复制目标的缓冲区。
+
+ bufferOffset:
+ 具有作为数据复制目标的缓冲区的索引。
+
+ length:
+ 最多读取的字符数。
+
+ 返回结果:
+ 读取的实际字符数。
+
+
+
+
+ 摘要:
+ 获取指定列的数据类型的名称。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 表示数据类型的名称的字符串。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 返回被请求的列序号的 System.Data.Common.DbDataReader 对象。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ System.Data.Common.DbDataReader 对象。
+
+
+
+
+ 摘要:
+ 获取指定列的 System.DateTime 对象形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的 System.Decimal 对象形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的双精度浮点数形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 返回一个 System.Collections.IEnumerator,可用于循环访问数据读取器中的行。
+
+ 返回结果:
+ 一个 System.Collections.IEnumerator,可用于循环访问数据读取器中的行。
+
+
+
+
+ 摘要:
+ 获取指定列的数据类型。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的数据类型。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的单精度浮点数形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的全局唯一标识符 (GUID) 形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的 16 位有符号整数形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的 32 位有符号整数形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的 64 位有符号整数形式的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+ System.IndexOutOfRangeException:
+ 指定的列序号i无效
+
+
+
+
+ 摘要:
+ 给定了从零开始的列序号时,获取列的名称。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的名称。
+
+
+
+
+ 摘要:
+ 获取表的名称。
+ 返回结果:
+ 表的名称。
+
+
+
+
+ 摘要:
+ 给定列名称时,获取列序号。
+
+ 参数:
+ name:
+ 列的名称。
+
+ 返回结果:
+ 从零开始的列序号。
+
+ 异常:
+ System.IndexOutOfRangeException:
+ 指定的名称不是有效的列名称。
+
+
+
+
+ 摘要:
+ 返回一个 System.Data.DataTable,它描述 System.Data.Common.DbDataReader 的列元数据。
+
+ 返回结果:
+ 一个描述列元数据的 System.Data.DataTable。
+
+ 异常:
+ System.InvalidOperationException:
+ XGDataReader 是关闭的。
+
+
+
+
+ 摘要:
+ 获取指定列的作为 System.String 的实例的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的作为 XGClob 的实例的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的作为 XGBlob 的实例的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+ 异常:
+ System.InvalidCastException:
+ 指定的强制转换无效。
+
+
+
+
+ 摘要:
+ 获取指定列的作为 System.Object 的实例的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 指定列的值。
+
+
+
+
+ 摘要:
+ 使用当前行的列值来填充对象数组。
+
+ 参数:
+ values:
+ 要将特性列复制到其中的 System.Object 数组。
+
+ 返回结果:
+ 数组中 System.Object 的实例的数目。
+
+
+
+
+ 摘要:
+ 获取一个值,该值指示列中是否包含不存在的或已丢失的值。
+
+ 参数:
+ ordinal:
+ 从零开始的列序号。
+
+ 返回结果:
+ 如果指定的列与 System.DBNull 等效,则为 true;否则为 false。
+
+
+
+
+ 摘要:
+ 读取批处理语句的结果时,使读取器前进到下一个结果。
+
+ 返回结果:
+ 如果存在多个结果集,则为 true;否则为 false。
+
+
+
+
+ 摘要:
+ 将读取器XGDataReader 前进到结果集中的下一个记录。
+
+ 返回结果:
+ 如果存在多个行,则为 true;否则为 false。
+
+
+
+
+ 摘要:
+ 释放由 XGDataReader 使用的托管资源,还可以选择释放非托管资源。
+
+ 参数:
+ disposing:
+ 若要释放托管资源和非托管资源,则为 true;若要仅释放非托管资源,则为 false。
+
+
+
+
+ 无任何值(DBTYPE_EMPTY)。
+
+
+
+
+ 布尔类型,其取值为:true、false或unknown。
+
+
+
+
+ 固定长度字符串(SQL_CHAR)。它映射到 System.String。
+
+
+
+
+ 8 位带符号的整数(DBTYPE_I1)。它映射到 System.SByte。
+
+
+
+
+ 确切数值,其精度为 5,小数位数为 0(有符号:-32,768 <= n <= 32,767,没有符号:0 <= n <= 65,535)(SQL_SMALLINT)。它映射到 System.Int16。
+
+
+
+
+ 确切数值,其精度为 10 和小数位数 0(有符号:-2[31] <= n <= 2[31] - 1,没有符号:0 <= n <= 2[32] - 1)(SQL_INTEGER)。它映射到 System.Int32。
+
+
+
+
+ 确切数值,其精度为 19(如果有符号)或 20(如果没有符号),小数位数为 0(有符号:-2[63] <= n <= 2[63] - 1,没有符号:0 <= n <= 2[64] - 1)(SQL_BIGINT)。它映射到 System.Int64。
+
+
+
+
+ 有符号的近似数值,其二进制精度为 24(零或绝对值为 10[-38] 到 10[38])(SQL_REAL)。它映射到 System.Single。
+
+
+
+
+ 有符号的确切数值,其精度为 p,小数位数为 s,其中 1 <= p <= 15 并且 s <= p (SQL_NUMERIC)。该数据类型将映射到System.Decimal。
+
+
+
+
+ 有符号的近似数值,其二进制精度为 53(零或绝对值为 10[-308] 到 10[308])(SQL_DOUBLE)。它映射到 System.Double。
+
+
+
+
+ 日期数据,存储为双精度型(DBTYPE_DATE)。整数部分是自 1899 年 12 月 30 日以来的天数,而小数部分是不足一天的部分。它映射到System.DateTime。
+
+
+
+
+ 格式为 yyyymmdd 的日期数据(SQL_TYPE_DATE)。它映射到 System.DateTime。
+
+
+
+
+ 格式为 hhmmss 的日期数据(SQL_TYPE_TIMES)。它映射到 System.DateTime。
+
+
+
+
+ 变长流字符串(SQL_CHAR)。它映射到 System.String。
+
+
+
+
+ 二进制数据流 (SQL_BINARY)。它映射到 System.Byte 类型的 System.Array。
+
+
+
+
+ 变长二进制。由用户设置该最大值 (SQL_VARBINARY)。它映射到 System.Byte 类型的 System.Array。
+
+
+
+
+ 游标。可作为存储过程的输出参数类型和存储函数的返回值类型。
+
+
+
+
+ 最大长度因数据源而定 (SQL_LONGVARCHAR)。它映射到 System.String。
+
+
+
+
+ 长的二进制值(BLOB)。它映射到 System.Byte 类型的 System.Array。
+
+
+
+
+ 根据DbType获取对应的XGDbType。
+
+ DbType
+ XGDbType
+
+
+
+ 根据XGDbType获取对应的DbType。
+
+ XGDbType
+ DbType
+
+
+
+ 根据值的Type和指定的XGDbType共同决定以获取对应的XGDbType。
+
+ 值的Type
+ XGDbType
+ 对应的XGDbType
+
+
+
+ 根据数组类型获取对应的XGDbType。
+
+ 数组的Type
+ 参数的Type
+ 对应的XGDbType
+
+
+
+ 用于参数绑定的类。
+
+
+
+
+ 摘要:
+ 获取或设置参数的 System.Data.DbType。
+
+ 返回结果:
+ System.Data.DbType 值之一。 默认值为 System.Data.DbType.String。
+
+ 异常:
+ System.ArgumentException:
+ 该属性未设置为有效的 System.Data.DbType。
+
+
+
+
+ 摘要:
+ 获取或设置该参数的值。
+
+ 返回结果:
+ 一个 System.Object,它是该参数的值。 默认值为 null。
+
+
+
+
+ 创建作为当前实例副本的新对象。
+
+ 作为此实例副本的新对象。
+
+
+
+ 摘要:
+ 获取或设置一个值,该值指示参数是只可输入、只可输出、双向还是存储过程返回值参数。
+
+ 返回结果:
+ System.Data.ParameterDirection 值之一。 默认值为 Input。
+
+ 异常:
+ System.ArgumentException:
+ 该属性未设置为有效的 System.Data.ParameterDirection 值之一。
+
+
+
+
+ 摘要:
+ 获取或设置列中数据的最大大小(以字节为单位)。
+
+ 返回结果:
+ 列中数据的最大大小(以字节为单位)。 默认值是从参数值推导出的。
+
+
+
+
+ 无参的XGParameters构造方法。
+
+
+
+
+ 通过参数名和参数值构造XGParameters对象。
+
+ 参数的名
+ 参数的值
+
+
+
+ 通过XGParameters对象构造新的XGParameters副本。
+
+ 源XGParameters对象
+
+
+
+ 通过参数名和虚谷数据库的类型构造XGParameters对象。
+
+ 参数的名
+ 虚谷数据库的类型
+
+
+
+ 通过参数名、虚谷数据库的类型和参数大小构造XGParameters对象。
+
+ 参数的名
+ 虚谷数据库的类型
+ 参数值所占字节大小
+
+
+
+ 构造XGParameters对象。
+
+ 参数的名
+ 虚谷数据库的类型
+ 参数值所占字节大小
+ 参数的方向:Input,Output,InputOutput或ReturnValue
+ 无意义
+ 无意义
+ 无意义
+ 无意义
+ 无意义
+ 参数的值
+
+
+
+ 摘要:
+ 获取或设置 System.Data.Common.DbParameter 的名称。
+
+ 返回结果:
+ System.Data.Common.DbParameter 的名称。 默认值为空字符串 ("")。
+
+
+
+
+ 摘要:
+ 获取或设置源列的名称,该源列映射到 System.Data.DataSet 并用于加载或返回 System.Data.Common.DbParameter.Value。
+
+ 返回结果:
+ 映射到 System.Data.DataSet 的源列的名称。 默认值为空字符串。
+
+
+
+
+ 摘要:
+ 设置或获取一个值,该值指示源列是否可以为 null。 这使得 System.Data.Common.DbCommandBuilder 能够正确地为可以为
+ null 的列生成 Update 语句。
+
+ 返回结果:
+ 如果源列可以为 null,则为 true;如果不可以为 null,则为 false。
+
+
+
+
+ 摘要:
+ 获取或设置一个值,该值指示参数是否接受空值。
+
+ 返回结果:
+ 如果接受 null 值,则为 true;否则为 false。 默认值为 false。
+
+
+
+
+ 摘要:
+ 获取或设置在加载 System.Data.Common.DbParameter.Value 时使用的 System.Data.DataRowVersion。
+
+ 返回结果:
+ System.Data.DataRowVersion 值之一。 默认值为 Current。
+
+ 异常:
+ System.ArgumentException:
+ 该属性未设置为 System.Data.DataRowVersion 值之一。
+
+
+
+
+ 摘要:
+ 将 DbType 属性重置为其原始设置。
+ 此版本驱动不支持此功能
+
+
+
+
+ XGParameters枚举器类。
+
+
+
+
+ 枚举器中的当前元素。
+
+
+
+
+ 构造方法。
+
+ 包含XGParameters的List对象
+
+
+
+ 移动到枚举器中的下一个元素。
+
+ 成功移动到下一元素返回True,否则返回False
+
+
+
+ 将枚举器的位置移动到集合的第一个元素之前。
+
+
+
+
+ 获取当前枚举器
+
+ 当前的枚举器
+
+
+
+ XGParameters集合类。
+
+
+
+
+ 集合所拥有的元素个数。
+
+
+
+
+ 构造XGParameterCollection对象。
+
+
+
+
+ 向集合中添加XGParameters对象。
+
+ 需要被添加的XGParameters对象
+ 被添加的元素在集合中的位置
+
+
+
+ 向集合中添加XGParameters对象。
+
+ 需要被添加的XGParameters对象
+ 被添加成功的XGParameters对象
+
+
+
+ 向集合中添加一个参数名为parameterName,参数值为value的XGParameters对象。
+
+ XGParameters对象的参数名
+ XGParameters对象的参数值
+ 当前的XGParameters对象
+
+
+
+ 向集合中添加一个参数名为parameterName,参数值类型为type的XGParameters对象。
+
+ XGParameters对象的参数名
+ XGParameters对象的参数值在虚谷数据库中的类型
+ 当前的XGParameters对象
+
+
+
+ 向集合中添加一个参数名为parameterName,参数值类型为type,参数值所占大小为size的XGParameters对象。
+
+ XGParameters对象的参数名
+ XGParameters对象的参数值在虚谷数据库中的类型
+ XGParameters对象的参数值所占字节数
+ 当前的XGParameters对象
+
+
+
+ 向集合中添加一个参数名为parameterName,参数值类型为type,参数方向为direction的XGParameters对象。
+
+ XGParameters对象的参数名
+ XGParameters对象的参数值在虚谷数据库中的类型
+ XGParameters对象的参数方向,其取值为:Input,Output,InputOutput或ReturnValue
+ 当前的XGParameters对象
+
+
+
+ 向集合中添加一个参数名为parameterName,参数值类型为type,参数值为value,参数方向为direction的XGParameters对象。
+
+ XGParameters对象的参数名
+ XGParameters对象的参数值在虚谷数据库中的类型
+ XGParameters对象的参数值
+ XGParameters对象的参数方向,其取值为:Input,Output,InputOutput或ReturnValue
+ 当前的XGParameters对象
+
+
+
+ 向集合中添加一个参数名为parameterName,参数值类型为type,参数值大小为size,参数值为value,参数方向为direction的XGParameters对象。
+
+ XGParameters对象的参数名
+ XGParameters对象的参数值在虚谷数据库中的类型
+ 参数值所占字节大小
+ XGParameters对象的参数值
+ XGParameters对象的参数方向,其取值为:Input,Output,InputOutput或ReturnValue
+
+
+
+
+ 将一个Array中包含的多个XGParameters对象批量添加到集合中。
+
+ 包含多个XGParameters对象的Array对象
+
+
+
+ 向集合中添加一个参数名为parameterName,参数值为value的XGParameters对象。
+
+ XGParameters对象的参数名
+ XGParameters对象的参数值
+ 当前的XGParameters对象
+
+
+
+ 从集合中移除所有的XGParameters对象。
+
+
+
+
+ 在集合中索引为index处插入一个参数值为value的XGParameters对象。
+
+ 插入的位置
+ 被插入的XGParameters对象的参数值
+
+
+
+ 从集合中移除索引为index的XGParameters对象。
+
+ 需要被移除的XGParameters对象的索引
+
+
+
+ 从集合中移除参数名为parameterName的XGParameters对象。
+
+ 参数名
+
+
+
+ 当前集合中是否包含参数值为value的XGParameters对象。
+
+ XGParameters对象的参数值
+ 包含返回True,否则返回False
+
+
+
+ 当前集合中是否包含参数名为parameterName的XGParameters对象。
+
+ XGParameters对象的参数名
+ 包含返回True,否则返回False
+
+
+
+ 获取枚举器。
+
+ 当前集合的枚举器
+
+
+
+ 获取参数值为value的XGParameters对象在集合中的索引。返回-1表示此集合中不存在参数值为value的XGParameters对象。
+
+ 所查找的XGParameters对象的参数值
+ 参数值为value的XGParameters对象在集合中的索引
+
+
+
+ 获取参数名为parameterName的XGParameters对象在集合中的索引。返回-1表示此集合中不存在参数名为parameterName的XGParameters对象。
+
+ 所查找的XGParameters对象的参数名
+ 参数名为parameterName的XGParameters对象在集合中的索引
+
+
+
+ 根据索引从集合中获取XGParameters对象。
+
+ 索引值,从零开始
+ 该索引的元素,若需使用XGParameters需强转
+
+
+
+ 根据XGParameters参数名从集合中获取DbParameters对象。
+
+ XGParameters参数名
+ 目标元素,若需使用XGParameters需强转
+
+
+
+ 修改集合中索引为index的元素。
+
+ 索引值,从零开始
+ 新的XGParameters对象
+
+
+
+ 修改集合中参数名为parameterName的元素。
+
+ XGParameters对象的参数名
+ 新的XGParameters对象
+
+
+
+ 从集合中移除指定的XGParameters对象。
+
+ 需要被移除的XGParameters对象
+
+
+