回答

收藏

SQL Server:返回表中的所有行并读取其值

技术问答 技术问答 284 人阅读 | 0 人回复 | 2023-09-14

我有一个6列5行的表。我想选择所有的行并使用它们SqlDataReader(ASP.NET& R' Y: ^' l! I  q8 L, ]5 J
C#)仔细阅读它们。目前,我可以使用访问单列dataReader["columnName"].ToString()并将其存储在字符串变量中。$ V; l( W  N9 t0 |* f+ [2 ?4 K: X
我想逐行阅读各列。8 i8 }/ w1 h  a7 d  l% M
感谢您的帮助。! K( Q0 ~- Y# Y) ^8 t1 t& t
                                                                ( x$ R" X" R$ Q% N) F
    解决方案:                                                               
, }5 {$ r1 V+ \, q                                                                如果您想将行和列存储在某种类型的集合中,您可以尝试使用列表和字典,这将使您可以根据需要添加更多的行。
, x1 W; D0 H9 y3 ]; U8 ~# `7 x% p                    List> rows = new List>();     Dictionary column;      string sqlQuery = "SELECT USER_ID,FIRSTNAME,LASTNAME FROM USERS";    SqlCommand command = new SqlCommand(sqlQuery,myConnection);    try                                                                                                                                                                                                                 myConnection.Open();        SqlDataReader reader = command.ExecuteReader();        while (reader.Read())        Every new row will create a new dictionary that holds the columns             column = new Dictionary();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;column["USER_ID"] = reader["USER_ID"].ToString();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;column["FIRSTNAME"] = reader["FIRSTNAME"].ToString();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;column["LASTNAME"] = reader["LASTNAME"].ToString();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;rows.Add(column); //Place the dictionary into the list          reader.Close();        catch (Exception ex)        If an exception occurs,write it to the console         Console.WriteLine(ex.ToString();finally                                                                                                                                                                                                                 myConnection.Close();        //Once you've read the rows into the collection you can loop through to                  display the results    foreach(Dictionary column in rows)    {        Console.Write(column["USER_ID"])   " ";        Console.Write(column["FIRSTNAME"]   " ";        Console.Write(column["LASTNAME"]   " ";        Console.WriteLine();    }
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则