文章转载:http://www.cnblogs.com/jhxk/articles/2584298.html

一直都没用过CommandType枚举的TableDirect的方式,今天试了一下报错,原来TableDirect只支持OleDB

.Net Framework SqlClient 数据提供程序不支持 CommandType 枚举值 512_SqlClient

摘自msdn:

CommandType 属性设置为 TableDirect 时,应将 CommandText 属性设置为要访问的表的名称。 如果已命名的任何表包含任何特殊字符,那么用户可能需要使用转义符语法或包括限定字符。当您调用“执行”(Execute) 方法之一时,将返回命名表的所有行和列。

为了访问多个表,请使用逗号分隔的列表(没有空格或空白),其中包含要访问的多个表的名称。当 CommandText 属性命名多个表时,返回指定表的联接。

 

说明

只有用于 OLE DB 的 .NET Framework 数据提供程序才支持 TableDirect。 当 CommandType 设置为 TableDirect 时,不支持对多个表的访问。