[英]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.