如何将读取器中的当前值用作sql查询中的参数?

时间:2019-07-18 21:04:44

标签: c# sql

我正在一个项目中,我必须获取一组ID,并检查它们是否符合特定的凭据。我已经决定使用阅读器的while循环进行此操作。我基本上需要知道是否可以获取阅读器中的ID并将其用作查询数据库中另一个表的参数

当前尚未尝试任何其他方法来解决此问题。

con.Open();

SqlDataReader rdr = cmd.ExecuteReader();

while (rdr.Read())
{
    tsLblStatus.Text = "Processing student.... " + " " + rdr.GetValue(0).ToString();
    this.Refresh();

    var people_id = rdr.GetValue(0).ToString();
}

if ()
{
    cmd.CommandText = @"SELECT COUNT(DISTINCT EVENT_ID)
                        FROM [Table]
                        WHERE (PEOPLE_ID =@PEOPLE_ID ) AND (EVENT_ID LIKE 'MATH%')";
    cmd.Parameters.AddWithValue("@PEOPLE_ID", people_id);

所以我试图让它使用people_id(这是阅读器中的ID)作为查询的参数,但是我不确定如何做到这一点。

1 个答案:

答案 0 :(得分:0)

尝试

cmd.CommandText = @"SELECT COUNT(DISTINCT EVENT_ID)
                        FROM [Table]
                        WHERE (PEOPLE_ID =@PEOPLE_ID ) AND (EVENT_ID LIKE 'MATH%')";
    cmd.Parameters.Add(new SqlParameter("@PEOPLE_ID", people_id));

cmd.Parameters.Add(新SqlParameter(“ @ PEOPLE_ID”,people_id);将添加
sql查询中的people_id @PEOPLE_ID。