从SQL Server数据库C#的最后一行获取值

时间:2017-01-26 10:04:20

标签: c#

    public queue getQueueDataByID(int queueID)
    {


         string DBConnect = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;

         SqlDataAdapter da;
         DataSet ds = new DataSet();
         queue myQueue = new queue();

         StringBuilder sqlCommand = new StringBuilder();
         sqlCommand.AppendLine("Select * from QueueTable where");
         sqlCommand.AppendLine("id = @paraId");

        try
        {
            SqlConnection myConn = new SqlConnection(DBConnect);

            // sqlCommand.Parameters.AddWithValue("paraCustId", tbCustId.Text);
            da = new SqlDataAdapter(sqlCommand.ToString(), myConn);
            da.SelectCommand.Parameters.AddWithValue("paraId", queueID);
            // fill dataset
            da.Fill(ds, "QueueTable");
            //conn.Close();
            int rec_cnt = ds.Tables["QueueTable"].Rows.Count;
            DataRow row = ds.Tables["QueueTable"].Rows[rec_cnt-1 ];
            myQueue.queueNo = row["QueueNo"].ToString();
            myQueue.NRIC = row["NRIC"].ToString();
            myQueue.ContactNo = row["ContactNo"].ToString();

                }

        catch (SqlException ex)
        {

        }
        return myQueue;
    }

这是我的班级,我试图从数据库的最后一行检索数据以在Web表单中显示,任何想法我怎么能这样做?我的" id",主键设置为自动增量。

1 个答案:

答案 0 :(得分:0)

您可以在数据表上使用Linq来获取最后一行。

 var queueDataTable = ds.Tables[0];
 var lastDataRow = queueDataTable.AsEnumerable().Last();

如果需要遍历数据表中的所有行

foreach (var dataRow in queueDataTable.AsEnumerable())
{

}

感谢