如果数据表匹配SQL选择,则使用列表成员填充数据表

时间:2012-12-14 15:10:12

标签: sql list select datatable

我有一个数字和名字的列表。我想搜索一个数据库,并查找该数字是否与我的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);
    }

1 个答案:

答案 0 :(得分:0)

使用

 string select = @"SELECT NBR, Name
                    FROM People
                    where ID in (15,17) and NBR=@Nbr and ACCEPTED=0";