2

我有一个数字和名字的列表。我想搜索数据库并查找该数字是否与我的 sql 选择匹配。如果确实如此,我需要将其与名称一起填写到数据表中。然后 foreach 数据表中的行将其写入另一个列表。我也无法将名称填充到数据表中,因为我没有在 SQl 选择中使用它作为参数。

DataTable dt = new DataTable();

try {
    using (SqlConnection conn = getconnection()) {
        conn.Open();
        SqlCommand cmd = conn.CreateCommand();
        cmd.CommandTimeout = 5000;
        string select = @"SELECT NBR
                    FROM People
                    where ID in (15,17) and NBR=Nbr and ACCEPTED=0";

        foreach (Fields f in Members) {
            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@Nbr", f.nbr);
            cmd.CommandText = select;
            SqlDataAdapter adapt = new SqlDataAdapter(cmd);
            //if f.nbr matches sql select fill it to datatable how can I fill dt with f.name as well?
            adapt.Fill(dt);
        }
    }

    foreach (DataRow row in dt.Rows) {
        Fields f1 = new Fields();
        f1.nbr= Convert.ToInt64(row["NBR"]); 
        // f1.name=Convert.ToString(row["Name"]????
        Not.Add(f1);
    }
4

1 回答 1

0

利用

 string select = @"SELECT NBR, Name
                    FROM People
                    where ID in (15,17) and NBR=@Nbr and ACCEPTED=0";
于 2013-02-19T22:57:30.813 回答