读书人

存储过程怎么写

发布时间: 2012-10-10 13:58:11 作者: rapoo

存储过程如何写
这是一个关于sql server 中的存储过程的问题。

我有一个表
两个列:
friendid,my
我的存储过程是这样写的。

SQL code
create  procedure [dbo].[getFriendList]    @my INT OUTPUT,    @friendid INT output,AS     select @friendid=my     from FriendInfo     where MyID=@MyQQID

现在想获取friendid的列表,但是我执行这个,只能获得一个,不能获得多个。

事先,我传入了@my这个参数的值,希望返回表中所有有@my这个值的行。

是多行的,能弄不?


[解决办法]
存储过程不可以输出表类型的。

create procedure [dbo].[getFriendList]
@my INT
AS
select my
from FriendInfo
where MyID=@My

过程你可以这么写.你写的有误.

然后前台你直接返回DataSet就行了。



[解决办法]
C# code
/* 准备演示过程 getFriendList,         * CREATE PROCEDURE [dbo].[getFriendList]              AS              select 1              UNION ALL              SELECT 2              UNION ALL              SELECT 3         */        //....        public DataTable Execute()        {            DataTable dt = new DataTable();            SqlConnection conn=new SqlConnection();            SqlCommand cmd = new SqlCommand("getFriendList", conn);            cmd.CommandType = CommandType.StoredProcedure;            conn.Open();            dt.Load(cmd.ExecuteReader());            conn.Close();            return dt;        } 

读书人网 >C#

热点推荐