当 QuestionnaireID 与我的查询匹配时,我正在使用 ExecuteReader 返回 QuestionText 的值。(见数据库设计)
但是我的问题是,当我运行项目时,我的 ExecuteReader 只返回输入的最后一个值。例如,如果我要在问卷 ID 为 1 下创建 3 个问题(A、B、C)。 ExecuteReader 将仅返回问题 C。
如何返回 QuestionText 列中具有相同问卷 ID 的所有值?
数据库设计
****。CS**
public string GetQuestionName(int QuestionnaireID)
{
string returnvalue = string.Empty;
SqlCommand myCommand = new SqlCommand("GetQuestion", _productConn);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add(new SqlParameter("@QUEST_ID", SqlDbType.Int));
myCommand.Parameters[0].Value = QuestionnaireID;
_productConn.Open();
SqlDataReader test = myCommand.ExecuteReader();
while (test.Read())
{
returnvalue = test.GetString(0);
}
_productConn.Close();
return returnvalue;
}
存储过程
USE [devworks_oscar]
GO
/****** Object: StoredProcedure [hbo].[GetQuestion] Script Date: 11/12/2011 13:12:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [hgomez].[GetQuestion]
(
@QUEST_ID int
)
AS
/*SET NOCOUNT ON;*/
SELECT QuestionText FROM [Questions] WHERE QuestionnaireID = @QUEST_ID
RETURN
提前致谢。