首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IronPython SqlClient CommandType?

IronPython SqlClient CommandType?
EN

Stack Overflow用户
提问于 2014-03-31 19:56:38
回答 1查看 650关注 0票数 0

我试图从铁python运行存储的proc,但是设置CommandType时遇到了问题:

代码语言:javascript
复制
import clr
clr.AddReference('System')
clr.AddReference('System.IO')
clr.AddReference('System.Data')
from System import Console as cns
from System.Data import SqlClient as sql

我已经测试了Sql连接的代码,并运行了一个简单的select查询,以验证我是否可以获得一个工作连接,因此它作为‘con’传递到这个函数中。

代码语言:javascript
复制
def get_cols_for(con, table):
    cols = {}
    cmd = sql.SqlCommand("sp_columns", con)
    cmd.Parameters.Add(sql.SqlParameter("@table_name", "EQUIPMENT")) 
    sp = sql.SqlCommand.CommandType.StoredProcedure
    rdr = cmd.ExecuteReader()
    while rdr.Read():
        cols[str(rdr[3])]=(str(rdr[5]),int(rdr[7])) # ColumnName @ 3, TypeName @ 5
    rdr.Close()
    return cols

intellisense建议StoredProcedure自动作为CommandType成员,所以我很确定它确实存在,但是当我运行这段代码时,我会收到以下抱怨:

{"'getset_descriptor‘对象没有属性'StoredProcedure'"}

当我执行sp = sql.SqlCommand.CommandType.StoredProcedure行时

如何设置CommandType?

顺便说一句,如果我只使用这个表单,它可以正常工作:

代码语言:javascript
复制
 cmd = sql.SqlCommand("exec sp_columns @table_name='%s'" % table, con)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-31 20:22:02

好像不是进口的。如果您通过

代码语言:javascript
复制
from System.Data import CommandType as cmdType

它的作用是:

代码语言:javascript
复制
>>>cmdType.__doc__

返回:

指定命令字符串的解释方式。枚举CommandType,值: StoredProcedure (4)、TableDirect (512)、Text (1)

还请注意,根据msdn,您还应该将CommandText属性设置为存储过程的名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22770986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档