SqlCeCommand.CommandText 属性

获取或设置在数据源执行的 SQL 语句。

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

语法

声明
Public Overrides Property CommandText As String
    Get
    Set
用法
Dim instance As SqlCeCommand
Dim value As String

value = instance.CommandText

instance.CommandText = value
public override string CommandText { get; set; }
public:
virtual property String^ CommandText {
    String^ get () override;
    void set (String^ value) override;
}
abstract CommandText : string with get, set
override CommandText : string with get, set
override function get CommandText () : String
override function set CommandText (value : String)

属性值

类型:System.String
将要执行的 SQL 语句或将要打开的基表的名称。默认值为空字符串。

实现

IDbCommand.CommandText

注释

CommandType 属性设置为 TableDirect 时,应将 CommandText 属性设置为要访问的表的名称。TableDirect 访问是从 SQL Server Compact 中检索数据的最快方式。如果指定的任一表中包含任何特殊字符,则可能要求您使用转义符语法。当您调用某一“执行”(Execute) 方法时,将返回命名表的所有行和列。

如果当前连接正在执行“执行”(Execute) 或“获取”(fetch) 操作,则不能设置 ConnectionCommandType 和 CommandText 属性。

CommandType 设置为 Text 时,SQL Server Compact 的 .NET Compact Framework 数据提供程序支持向 SqlCeCommand 调用的 SQL 语句传递参数的命名参数。例如:

SELECT * FROM Customers WHERE CustomerID = @customerID

此外,SQL Server Compact 的数据提供程序不支持批查询。命令必须遵循以下格式:SELECT * FROM Customers而不是,而不是 SELECT * FROM Customers; SELECT * FROM Orders。如果您在使用为 System.Data.SqlClient 生成的代码,则必须相应地修改查询以使它们符合此限制。

在使用启用 RDA 的复制时指定用于 INSERT 查询的列名称。RDA 跟踪的表包含系统生成的列,这些列会更改您所期望的查询的列数。如果不指定列名称,而且 INSERT 语句中的列数和表中的列数不相同,INSERT 将失败。

示例

下面的示例创建了一个 SqlCeCommand 并设置了 CommandText 和其他属性。

Dim cmd As SqlCeCommand = conn.CreateCommand()
cmd.CommandText = "SELECT * FROM Categories ORDER BY CategoryID"
cmd.CommandType = CommandType.Text
cmd.UpdatedRowSource = UpdateRowSource.Both
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Categories ORDER BY CategoryID";
cmd.CommandType = CommandType.Text;
cmd.UpdatedRowSource = UpdateRowSource.Both;

请参阅

参考

SqlCeCommand 类

System.Data.SqlServerCe 命名空间

Connection

CommandType