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

使用SqlDataReader C#的MAX(id)

袁泰
2023-03-14
问题内容

我该如何更改:

        using (SqlCommand myCommand = myConnection.CreateCommand())
        {
            myConnection.Open();
            myCommand.CommandText = "SELECT FormID FROM tbl_Form";
            using (SqlDataReader reader = myCommand.ExecuteReader())
            {
                while (reader.Read())
                {
                    int FormID = reader.GetInt32(reader.GetOrdinal("FormID"));
                    MessageBox.Show(FormID.ToString());
                }
            }
        }

得到 MAX(FormID) 吗?

我的自然趋势是在FormID周围抛出一个MAX,但是我遇到了IndexOutOfRange异常


问题答案:

当您选择最大ID时,您不应使用SqlDataReader-查询仅返回一项,默认情况下未命名,因此您的现有查询会中断,因为它希望得到一个名为“
FormID”的结果-尽管您可以通过以下方式“固定”查询使用"SELECT MAX(FormID) as FormId FROM tbl_Form"。而是使用ExecuteScalar()

myCommand.CommandText = "SELECT MAX(FormID) FROM tbl_Form";
int maxId = Convert.ToInt32(myCommand.ExecuteScalar());


 类似资料:
  • 以下是尝试用流查找Max的推荐方法吗? 它会导致编译错误-这是什么意思?

  • 问题内容: 您好,这是我想要的,我连接到数据库并检索UniqueId列的最大元素,并将其分配给名为maxID的整数变量,这是我的方法: 解决这个问题的一种体面的方式,感觉是通过在while循环中使用“ rs2.next()”,这是一种非常粗糙的方式。 谢谢 问题答案:

  • 问题内容: 我在了解NodeJS如何根据参数max-old-space-size进行操作时遇到了一些麻烦。 以我的情况为例,我正在运行两个t2.small aws实例(2GB RAM)。 不知道为什么,但是我确实设置了max-old-space-size = 4096(4GB)。在这种情况下,节点会做什么?此配置是否可能导致可能的内存分配失败? 如何根据服务器资源确定max-old-space-s

  • 问题内容: 我有一张这样的桌子: 我需要这样的输出(与最大值分组): 试图使用像这样的东西: 但是它只选择一个具有最大值的行。如何重写查询? 问题答案: 使用ROW_NUMBER对记录进行排名,以便sku的最大值变为#1。然后仅保留那些排名第一的记录。 对于SKU 1503818,您将获得以下两个之一: 如果您想要一个特定的商品(例如商品编号更高的商品),则将此条件添加到Row_Number的OR

  • MAX

    此方法从数字列表中返回最大值。 语法 (Syntax) MAX(number1,number2, …numberN) 参数 (Parameters) number1, number2, …numberN - 需要确定最大值的数字列表。 返回值 (Return Value) 值列表中的最大值。 例子 (Example) /* Main program */ say MAX(10,20,30)

  • 描述 (Description) max()方法接受一组数字并返回给定数字中的最大值。 在不传递参数的情况下调用此方法时,它返回-Infinity。 语法 (Syntax) 下面给出了JavaScript的max()方法的语法。 我们可以在CoffeeScript代码中使用相同的方法。 Math.max ( x ) 例子 (Example) 以下示例演示了CoffeeScript中max()方法