簡體   English   中英

C#:如何從數據庫的最后一行獲取數據? 我在Visual Studio 2017中使用

[英]C#: How to get data from the last row in database? I'm using in visual studio 2017

在C#中需要幫助(Visual Studio 2017)

我想從數據庫的最后一行或最后輸入的數據中獲取數據。 我的代碼在這里。

            String query = "SELECT TOP(1) MessageNumber FROM ncslbpHighWay";
            SqlCommand SDA = new SqlCommand(query, AR);

            SqlDataReader data = SDA.ExecuteReader();
            if (data.Read())
            {
                textBox2.Text = data.GetValue(0).ToString();
            }
            AR.Close();

我已經獲得了數據,但是僅從頂部的特定列中獲取。 我不知道如何獲得最低價值。 我也嘗試了DESC但它不起作用。

String query = "SELECT TOP(1) MessageNumber FROM ncslbpHighWay ORDER BY COLUMN DESC";

這是我在Stackoverflow中的第一個問題。 我希望有人能幫助我。

您可以使用orm。 事情會變得容易。

在代碼段下方考慮您的問題可以為您提供幫助。

-- Method 01--
SELECT * FROM TestData where ID =(Select Max(ID) from TestData)

-- Method 02--
SELECT top 1 * FROM TestData order by ID Desc;

在這里,我將ID列視為“自動增量”。

您在下面指定的查詢適用於SQL Server以獲取表中的最后一個值:

SELECT TOP(1) MessageNumber FROM ncslbpHighWay ORDER BY [ColumnName] DESC

但是,由於您提到的是MySQL標記(這意味着您使用的是MySQL而不是SQL Server),因此需要在ORDER BY之后使用LIMIT n ,其中n是返回結果的數量,即單個結果為1:

SELECT MessageNumber FROM ncslbpHighWay ORDER BY [ColumnName] DESC LIMIT 1

-- or using offset:
SELECT MessageNumber FROM ncslbpHighWay ORDER BY [ColumnName] DESC LIMIT 0, 1

如果使用的是MySql.Data.MySqlClient.MySqlConnection而不是標准的System.Data.SqlClient.SqlConnection ,則可以編寫數據檢索,如下所示:

using (MySqlConnection AR = new MySqlConnection())
{
    AR.Open();
    String query = "SELECT MessageNumber FROM ncslbpHighWay ORDER BY [ColumnName] DESC LIMIT 1";
    using (MySqlCommand SDA = new MySqlCommand(query, AR))
    {
        MySqlDataReader data = SDA.ExecuteReader();
        if (data.Read())
        {
            textBox2.Text = data.GetValue(0).ToString();
        }
    }
    AR.Close();
}

注意:建議您在管理數據庫查詢時,將ORM(例如,實體框架)與MySQL Connector .NET庫一起使用以啟用LINQ功能。

類似問題:

如何使用SQL語法從MySQL表中選擇最后一條記錄

選擇MySQL中的最后一行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM