簡體   English   中英

如何從兩個數據表中比較一個數據表的值並減去它們

[英]how to compare values of a datatable from two datatable and subtract them

我正在c#中進行編碼,我想將“出售”數據表中的“數量”與“購買”數據表進行比較,如果“購買”表中的“數量”較大,則需要從“出售”中減去“購買”表, “數量”否則將繼續。 請告訴我們如何進行比較。 我做了如下編碼,但顯示錯誤。

protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
            conn.Open();
            var sql = @"select scriptname,accnum,Quantity,price from transac where transactio = 'Sell' and scriptname = '" + TextBox2.Text + "' and accnum ='" + TextBox1.Text + "'";
            var sqll = @"select scriptname,accnum,Quantity,price from transac where transactio = 'Buy' and scriptname ='" + TextBox2.Text + "' and accnum ='" + TextBox1.Text + "'";
            var da = new SqlDataAdapter(sqll, conn);
            var dataTablebuy = new DataTable();
            da.Fill(dataTablebuy);
            var dataAdapter = new SqlDataAdapter(sql, conn);
            var dataTablesell = new DataTable();
            dataAdapter.Fill(dataTablesell);
            foreach (DataRow row in dataTablesell.Rows)
            {
                foreach (DataRow rw in dataTablebuy.Rows)
                {
                    if (rw["Quantity"] > row["Quantity"])
                    {
                        rw["Quantity"] = rw["Quantity"] - row["Quantity"];
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }
        catch (System.Data.SqlClient.SqlException sqlEx)
        {
            Response.Write("error" + sqlEx.ToString());
        }
        catch (Exception ex)
        {
            Response.Write("error" + ex.ToString());
        }

    }

嘗試這個:

 if (double.Parse(rw["Quantity"].ToString()) > double.Parse(row["Quantity"].ToString()))
 {
     rw["Quantity"] = double.Parse(rw["Quantity"].ToString()) - double.Parse(row["Quantity"].ToString())
 }

我只想提供更多可行的選擇,以防您需要其他選擇。

我只是在查詢本身中介紹了您的方案。 我加入表格並根據您的需要獲取數據

您只是使用此查詢獲取數據。

請框架查詢C#代碼

選擇T1.scriptname,T1.accnum,(當(T2.Quantity> T1.Quantity)時選擇(T2.Quantity-T1.Quantity)否則T1.Quantity結束)作為數量,T1。來自Transac T1,transac T2的價格T1.transactio ='賣出'和T2.transactio ='購買',T1.scriptname ='TextBox2.Text'和T1.accnum ='TextBox1.Text'和T2.scriptname ='TextBox2.Text'和T2.accnum = 'TextBox1.Text'和T1.scriptname = T2.scriptname和T2.accnum = T2.accnum

暫無
暫無

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

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