思路:用的时Access数据库
1、先提示是否需要作废选中的行或许信息。
2、获取选中行的行号信息并添加到list中,支持【按CTRL】不连续选中。
3、根据选中的行号提取需要的字段值,并进行update到数据库中
4、然后再根据单号进行查询显示出来数据库表的信息。
private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (MessageBox.Show("您确定要作废选中的吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
List<int> serows;
serows = this.gridView2.GetSelectedRows().ToList();
OleDbConnection con = new OleDbConnection(connect.server.cons);
con.Open();
try
{
foreach (int i in serows)
{
string cardsno = this.gridView2.GetDataRow(i)["CARDS_NO"].ToString();
string upsql = "UPDATE CARDSM SET CARDSFLAG='1' WHERE CARDS_NO='" + cardsno + "'";
OleDbCommand odc = new OleDbCommand(upsql, con);
odc.ExecuteNonQuery();
}
string sheetid = this.gridView2.GetDataRow(0)["SHEETID"].ToString();
MessageBox.Show("您已成功作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
string csql = "SELECT A.SHEETID,A.CARDS_NO,B.CARDSTY AS CARDSNO,B.CARDSVAL,A.CARDSTARTDATE,A.CARDENDDATE,A.CARDINSTR,A.UDF,SWITCH(A.CARDSFLAG='0','正常',CARDSFLAG='1','作废') AS CARDSFLAG FROM CARDSM A,CARDSINFO B WHERE A.CARDSNO=B.CARDSNO AND A.SHEETID='" + sheetid + "'";
OleDbDataAdapter ocda = new OleDbDataAdapter(csql, con);
DataSet cds = new DataSet();
ocda.Fill(cds);
this.gridControl2.DataSource = cds.Tables[0];
con.Close();
}
catch
{
MessageBox.Show("作废失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
}