我已经验证过程确实会返回多个ro 问题是我的sql过程只返回一行,但是从asp端我只能得到一行:
ALTER PROCEDURE cphsdbm.tp_Trip_List
@UserID int,
@Trip_Name varchar(50) output
AS
BEGIN
SELECT @Trip_Name = Trip_Name FROM tbl_Trip WHERE UserID=@UserID;
END
我的代码:
do
{
while (rdr2.Read())
{
trip_count++;
Response.Write("Success!");
}
trip_count++;
} while (rdr2.NextResult());
答案 0 :(得分:3)
要返回多行,您的存储过程应返回结果集(而不是单个输出值),即:
ALTER PROCEDURE cphsdbm.tp_Trip_List
@UserID int
AS
BEGIN
SELECT Trip_Name FROM tbl_Trip WHERE UserID = @UserID;
END
阅读:
while (rdr2.Read())
{
trip_count++;
// ... do something with trip name...
}
答案 1 :(得分:2)
您正在使用的存储过程不应返回一行。它只会返回您传递给存储过程的Trip_Name
变量中的output
值。我不知道您的数据库的结构或您需要从表中读取的内容,因此除非您详细说明您的要求,否则我无法提出任何建议。
此外,读者中不会有任何NextResult()
。