当前位置: 首页 > 面试题库 >

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

巫马劲
2023-03-14
问题内容

我有一个6列5行的表。我想选择所有行并使用SqlDataReader(ASP.NET
C#)仔细阅读它们。我目前可以使用访问单个列dataReader["columnName"].ToString()并将其存储在字符串变量中。

我想逐行阅读各列。

感谢您的帮助。


问题答案:

如果要将行和列存储到某种类型的集合中,可以尝试使用“列表和字典”,这将使您可以根据需要添加任意多的行。

     List<Dictionary<string, string>> rows = new List<Dictionary<string, string>>();
     Dictionary<string, string> 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<string, string>();

             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<string, string> column in rows)
    {
        Console.Write(column["USER_ID"]) + " ";
        Console.Write(column["FIRSTNAME"] + " ";
        Console.Write(column["LASTNAME"] + " ";
        Console.WriteLine();
    }


 类似资料:
  • 问题内容: 我正在尝试读取sqlite3表中的所有记录,并通过回调返回它们。但是似乎尽管使用了序列化,但这些调用仍然是ASYNC。这是我的代码: 触发回调后,数组将打印“ []”。 我是否可以打另一个电话(而不是db.each),一次就能给我所有行。我不需要遍历这里的每一行。 如果没有,如何读取所有记录,然后才调用带有结果的回调? 问题答案: 我能够找到这个问题的答案。这是给任何正在寻找的人的:

  • 它还会返回这个表,遗漏一些行(我希望它给出所有流派,而不仅仅是演员在其中扮演角色的流派): 有趣的是,它为“动画”返回了“0”,但为“儿童”或“喜剧”没有行,这是我正在寻找的结果(所有流派都返回了)。我做错了什么?

  • 问题内容: 我正在使用的SQLite数据库表会在需要时添加列。我不想对列进行硬编码,否则会冒着更新数据库而忘记更新硬编码值的风险。如何返回表中所有列的名称?(最好在中) 问题答案: 最好是使用实例并使用查询方法 应该有列名

  • 我对java librairie OpenCSV有问题。我没有读完我的CSV文件的所有行,我只读了第二行,我不知道为什么... 我的CSV文件: 我使用OpenCSV创建一个android列表,只有“Julie”“Julie”这一行被添加了3次...

  • 我的数据库中有两个表: 表1:购买物品 表1列出了购买的物品,表2每小时更新一次每件物品的当前价格。因此,从表2中可以清楚地看出,肉类最后一次交易是在2013年2月20日上午10点,而鱼类不是在同一天交易的,它是在2013年2月19日上午9点交易的,鸡肉是在2013年2月20日上午9点交易的。我想做的是,列出表1中的所有项目,并加入表2中各个项目的最后交易价格,如下所示: 这里应该应用什么类型的连

  • 问题内容: 我想将1 GB大文件的所有行尽快读取到中。目前,我正在为此使用。解析文件后,我要进行一些计算(/ )。 起初我以为这已经并行完成了,但是似乎我错了:当按原样读取文件时,在我的双CPU笔记本电脑上大约需要50秒钟。但是,如果我使用bash命令拆分文件,然后并行处理它们,则只需要30秒钟。 我尝试了以下组合: 单个文件,没有并行lines()流〜50秒 单个文件,约50秒 两个文件,无平行