2

番号と名前のリストがあります。データベースを検索して、番号が sql select と一致するかどうかを確認したいと思います。その場合は、名前とともにデータテーブルに入力する必要があります。次に、データテーブルの foreach 行は、それを別のリストに書き込みます。SQl select でパラメーターとして名前を使用していないため、データテーブルにも名前を入力するのに問題があります。

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 に答える