首页 > 解决方案 > 遍历数据表中的一列以查找匹配值,然后添加到列表以输出以查看

问题描述

我在视图中显示了来自 SQL 表的数据。该表具有以下内容: Authorise(AuthoriseID,TransactionID, TransactionName, AccountID, AccountName, Match) TransactionID 和 AccountID 重复多次,但只一起重复一次(它们来自已通过匹配函数连接的两个不同表)。

目前,我有一个 ActionResult HTTPGET,它使用存储的过程来“从 TransactionID 授权订单中选择 *”。表中的所有内容都返回给用户。我只想要某个 TrnsactionID 的行。然后用户将接受或拒绝(将行发送到数据库中的其他表)。一旦该 TransactionID 的所有行都完成,它将移动到下一个 TransactionID 以及具有该 TransactionID 的所有行。rnsactionID 将发生变化,因此向用户显示的第一个 TransactionID 仅取决于第一个 ID 是什么。

我的问题是,如何遍历数据表中的一列,获取匹配值,仅显示这些行,然后在所有行都被授权后移动到下一个 ID?

我知道我需要将第一个 TransactionID 设置为一个变量,然后遍历数据表,如果该列中的任何其他值与该变量匹配,然后添加到一个列表中......我似乎无法正确。我已经尝试了一些东西,但它看起来不正确。这是一种尝试——

这是我的控制器代码(将所有数据发送到视图时一切正常):

public ActionResult Authorise()

{

SqlConnection con = new SqlConnection();
con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbpath"].ToString());

List<AuthoriseModel> AuthoriseList = new List<AuthoriseModel>();
SqlCommand com = new SqlCommand("GetAuthorise", con);
com.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();



foreach (DataRow dtRow in dt.Rows)
{
    string CurrentUID = dtRow["TransactionID"].ToString();

    if (dtRow["TransactionID"].ToString().Equals(CurrentUID))
    {


        AuthoriseList = (from DataRow dr in dt.Rows

                         select new AuthoriseModel()
                         {
                             AuthoriseID = Convert.ToInt32(dr["AuthoriseID"]),
                             TransactionID = Convert.ToInt32(dr["TransactionID"]),
                            TransactionName = Convert.ToString(dr["TransactionName"]),
                             AccountID = Convert.ToInt32(dr["AccountID"]),
                             AccountName = Convert.ToString(dr["AccountName"]),
                             PercentMatch = Convert.ToString(dr["PercentMatch])

                         }).ToList();
    }
}



return View(AuthoriseList);

}

然后,此列表将仅显示具有相同 TransactionID 的行,一旦所有行都已处理并从中删除,它将移至下一个 TransactionID?

提前致谢

标签: sqlsql-serverasp.net-mvcdatatableado.net

解决方案


推荐阅读