在敲组合查询的时候,用到了一个存储过程,最后在D层调用的时候,总是提示没有关键字符,最开始是以为在D层的sql语句有错误,后来经过了排查,发现没有问题,最后和平时的比较感觉可能是应为调用了存储过程的原因,然后请教了一下高人,还真是这样,原来调用存储过程和平时的调用sql表的数据不一样,区别在于他们的命令符不同。
Command对象的常用属性和方法:
当创建好一个SqlCommand对象之后,还要正确设置SqlCommand对象的属性才能使用。SqlCommand对象的常用属性,如下表所示。
Connection属性
指定Command对象所使用的Connection对象。
CommandType属性
1 Text:表示Command对象用于执行SQL语句。
2 StoredProcedure:表示Command对象用于执行存储过程。
3 TableDirect:表示Command对象用于直接处理某个表。
CommandType属性的默认值为Text。
CommandText属性
根据CommandType属性的取值来决定CommandText属性的取值,分为3种情况:
1 如果CommandType属性取值为Text,则CommandText属性指出SQL语句的内容。
2 如果CommandType属性取值为StoredProcedure,则CommandText属性指出存储过程的名称。
3 如果CommandType属性取值为TableDirect,则CommandText属性指出表的名称。
CommandText属性的默认值为SQL语句。
CommandTimeout属性
指定Command对象用于执行命令的最长延迟时间,以秒为单位,如果在指定时间内仍不能开始执行命令,则返回失败信息。
默认值为30秒。