您的位置:首页 > 数据库

SqlCommand.DeriveParameters failed

2017-06-24 21:40 274 查看
错误信息例如以下:

SqlCommand.DeriveParameters failed because the SqlCommand.CommandText property value is an invalid multipart name "SELECT * from tableA", the current limit of "4" is insufficient。


错误原因:

使用Enterprise Library进行数据库操作时,假设直接使用sql 语句而非存储过程。一定要用重载方法:
_db.ExecuteDataSet(CommandType type,String sql)

而不是:

public virtual DataSet ExecuteDataSet(
string storedProcedureName,
params Object[] parameterValues
)

具体介绍:点击打开链接

或者通过sql,获取到DbCommand,再运行:



ExecuteDataSet重载方法例如以下:

Database.ExecuteDataSet Method (DbCommand)

public virtual DataSet ExecuteDataSet(
DbCommand command
)


Database.ExecuteDataSet Method (CommandType, String)

public virtual DataSet ExecuteDataSet(
CommandType commandType,
string commandText
)


Database.ExecuteDataSet Method (DbCommand, DbTransaction)

public virtual DataSet ExecuteDataSet(
DbCommand command,
DbTransaction transaction
)


Database.ExecuteDataSet Method (String, Object[])

public virtual DataSet ExecuteDataSet(
string storedProcedureName,
params Object[] parameterValues
)
Database.ExecuteDataSet Method (DbTransaction, CommandType, String)

public virtual DataSet ExecuteDataSet(
DbTransaction transaction,
CommandType commandType,
string commandText
)


Database.ExecuteDataSet Method (DbTransaction, String, Object[])

public virtual DataSet ExecuteDataSet(
DbTransaction transaction,
string storedProcedureName,
params Object[] parameterValues
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: