-3

我需要创建一个带有问题和答案的向导。所以我有一个带有答案的表格,当我加载向导时,我希望将第一个答案作为标签,并靠近一个带有可能答案和下一个按钮的下拉菜单。当我单击下一个按钮时,选择的答案和问题 ID 保存在数据库中,第二个问题是加载并像这样继续,直到所有问题都完成。

最近我只在冷融合中工作,在那里我可以循环查询并且它很简单,但在 C# 中我不知道该怎么做。

for (int i = 0; i < length; i++)
{ 
using (SqlConnection sqlConn = new SqlConnection(connstring))
        {
            sqlConn.Open();
            using (SqlCommand sqlCmd = new SqlCommand())
            {
                sqlCmd.CommandType =   CommandType.StoredProcedure;
                sqlCmd.CommandText = "dbo.GetFurnizori";                                           


                sqlCmd.Parameters.AddWithValue("@p_id",i);
                sqlCmd.Connection = sqlConn;
                DataTable dat = new DataTable();
                SqlDataAdapter sqlDA = new SqlDataAdapter();
                sqlDA.SelectCommand = sqlCmd;
                dat.Fill(dataSet1, "questions");
                label1.DataBindings.Add("Text", dataSet1, "question");
            }                
          }

问题是我不能用 i 递增 1 因为 id 并不总是 1,2,3,4 也许它们是 5,9 ,11

4

1 回答 1

1

如果您正在查询 SQL Server,ROW_NUMBER() OVER()请在存储过程中向您的查询添加一个(您必须阅读它:http: //msdn.microsoft.com/en-us/library/ms186734.aspx)。这将为您返回的每一行提供一个序列号(1、2、3 等)。这可能会有所帮助,因为您不必依赖id. 您可以将i(并继续i++)传递到 proc 并让 proc 在查询中找到行 who ROW_NUMBER(),而不是 who idis i

于 2013-01-11T00:54:23.830 回答