Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SqlDataReader C的最大(id)_C#_Sql_Sqldatareader - Fatal编程技术网

C# 使用SqlDataReader C的最大(id)

C# 使用SqlDataReader C的最大(id),c#,sql,sqldatareader,C#,Sql,Sqldatareader,我如何改变这一点: using (SqlCommand myCommand = myConnection.CreateCommand()) { myConnection.Open(); myCommand.CommandText = "SELECT FormID FROM tbl_Form"; using (SqlDataReader reader = myCommand.ExecuteRea

我如何改变这一点:

        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());
                }
            }
        }
为了得到MAXFormID


我的自然倾向是在FormID周围抛出一个MAX,但我得到了一个indexoutfrange异常。

当您选择最大id时,您不应该使用SqlDataReader-查询只返回一项,默认情况下,它是未命名的,因此您现有的查询将中断,因为它需要一个名为FormID的结果-尽管您可以通过使用selectmaxformid作为tbl_表单中的FormID来修复您的查询。而是使用:


我已经有一段时间没有使用这种数据库访问方式了,但我认为您只需要

select max(FormID) from tbl_Form

再加上调用ExecuteScalar

绝对是我最简单的解决方案。谢谢
select max(FormID) from tbl_Form