c# 获取存储过程参数名和类型
问题是这样,sqlServer里边有个存储过程定义成这样createproceduregetCourseByStudentId@stuIdintasselect……然后现...
问题是这样,
sqlServer里边有个存储过程定义成这样
create procedure getCourseByStudentId
@stuId int
as
select……
然后现在在C#里边,只知道过程名是getCourseByStudentId(数据库已经连接好了)
有什么方法获取到这个存储过程的参数个数,参数类型和参数的名字啊
(在这里就只有一个参数stuId和它的类型int) 展开
sqlServer里边有个存储过程定义成这样
create procedure getCourseByStudentId
@stuId int
as
select……
然后现在在C#里边,只知道过程名是getCourseByStudentId(数据库已经连接好了)
有什么方法获取到这个存储过程的参数个数,参数类型和参数的名字啊
(在这里就只有一个参数stuId和它的类型int) 展开
4个回答
展开全部
好科幻啊!!你想做什么啊?
存储过程在C#中是以字符串的形式来表现的,怎么可能 啊,
再说了 C#中根本没有存储过程类型的定义,只有早SQL中才有的,两个不同的语言不可能的,除非你去数据库中查询!!
但是这个又是多此一举的做法!!
select name as 参数名称,xusertype 参数数据类型,length 参数数据长度 from syscolumns where id =(select id from sysobjects where name='存储过程名称')
这个查询出来全部是字符串的,你还要自己去解析成C#中的对应的数据类型,然后你对它又怎么赋值呢?
C#调用存储过程的是要先给参数赋值的,也就是说要知道参数类型然后在对应的赋值的,难不成你想动态获取,动态赋值,这个好像不现实哦!!同学。这个是好神费力的事情 啊!!
存储过程在C#中是以字符串的形式来表现的,怎么可能 啊,
再说了 C#中根本没有存储过程类型的定义,只有早SQL中才有的,两个不同的语言不可能的,除非你去数据库中查询!!
但是这个又是多此一举的做法!!
select name as 参数名称,xusertype 参数数据类型,length 参数数据长度 from syscolumns where id =(select id from sysobjects where name='存储过程名称')
这个查询出来全部是字符串的,你还要自己去解析成C#中的对应的数据类型,然后你对它又怎么赋值呢?
C#调用存储过程的是要先给参数赋值的,也就是说要知道参数类型然后在对应的赋值的,难不成你想动态获取,动态赋值,这个好像不现实哦!!同学。这个是好神费力的事情 啊!!
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
using (var conn = new SqlConnection(ConnectionString))
{
conn.Open();
var restrictions = new string[3];
restrictions[2] = "getCourseByStudentId";
var d = conn.GetSchema("ProcedureParameters", restrictions);
}
得到的d变量,是一个datatable对象,里面有你想要的。
{
conn.Open();
var restrictions = new string[3];
restrictions[2] = "getCourseByStudentId";
var d = conn.GetSchema("ProcedureParameters", restrictions);
}
得到的d变量,是一个datatable对象,里面有你想要的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用OracleCommandBuilder.DeriveParameters
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-01-17 · 知道合伙人软件行家
关注
展开全部
到数据库里看存储过程结构,就知道实际要什么参数
追问
一定要到数据库里边看么?
有没有什么api函数可以直接获取的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询