簡體   English   中英

比較Datagridview和Database字段以進行更新

[英]Compare Datagridview and Database field for Update Process

我正在做winforms。.我正在比較datagridview列值和db值。

如果db中存在DataGridView列,那么我想執行更新過程(如果不存在),我想執行插入過程。

我嘗試了這段代碼

string resultJewelId = null; string QueryJewelId = null;

    private void AddStockTable()
    {
        try
        {
            Sqlcon = objDB.DBConnection();


            QueryJewelId= "Select JewelId from tblStock";

            Sqlcmd = new SqlCommand(QueryJewelId, Sqlcon);


            dr = Sqlcmd.ExecuteReader();

            if (dr.HasRows)
            {
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    while (dr.Read())
                    {
                        resultJewelId = dr.GetString(0);

                        if (resultJewelId == dataGridView1[0, i].Value.ToString())
                        {
                            MessageBox.Show("Update process");

                        }
                        else
                        {
                            MessageBox.Show("Insert Process");
                        }
                    }
                } 

            }
        }
        catch (Exception ex)
        { MessageBox.Show(ex.ToString()); }
    }

雖然條件可以正常工作..但是我不知道如何在for循環中移動下一行的值。

請支持我。

謝謝並恭祝安康

一旦執行了while (dr.Read())語句,就必須重置DataReader 但是唯一的方法是為每一行再次調用此行:

dr = Sqlcmd.ExecuteReader();

在您的while循環之前。 效率低下,但可以解決您的問題。

暫無
暫無

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

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