我有这样的数据库
Category code serial_no city
Dealer DLR/1 1 Agra
Dealer DLR/1 2 Agra
Dealer DLR/1 3 Chennai
Dealer DLR/1 4 Chennai
Dealer DLR/1 5 Delhi
Dealer DLR/1 6 Delhi
现在,我要更新城市阿格拉
第二个记录
那么数据库应该像
{C}
当我更新我的城市我的序列号也应该发生相应的变化,应做每一件事与编码
应排序由城市,serial_no
请帮我......
从注释的代码:
我如何更新现在......首先,我更新改变城市的空字符串,然后发现,空字符串,然后递增记录的其余部分和更新的空字符串string query_empty = String.Empty;
query_empty = "UPDATE customer SET category='" + NJS_Helper.FormatStringforDB(this.lblcategoryselected.Text) + "', code='" + NJS_Helper.FormatStringforDB(lblcategory_code.Text) + "', serial_no='" + String.Empty + "')";
OleDbCommand cmd_empty = new OleDbCommand(query_empty, this.gMain.openConn);
int i1 = cmd_empty.ExecuteNonQuery();
if (i1 > 0)
{
string query_sort = String.Empty;
query_sort = "SELECT * FROM customer WHERE (category='" + NJS_Helper.FormatStringforDB(this.lblcategoryselected.Text) + "') ORDER BY city,serial_no";
OleDbDataAdapter ad = new OleDbDataAdapter(query_sort, this.gMain.openConn);
DataSet ds = new DataSet();
ad.Fill(ds, "results");
foreach (DataRow row in ds.Tables["results"].Rows)
{
arr_serial.Add(row["serial_no"].ToString());
}
foreach (string currentitem in arr_serial)
{
if (currentitem.Equals(""))
{
current_index = arr_serial.IndexOf(currentitem);
}
}
int current_index_new = current_index + 1;
string query_update_new = String.Empty;
for (int i = arr_serial.Count - 1; i >= current_index_new; i--)
{
int serialno_new = i + 1;
int serialno_old = i;
query_update_new = "UPDATE customer SET serial_no='" + serialno_new + "' WHERE (category='" + this.lblcategoryselected.Text + "' AND serial_no='" + serialno_old + "')";
OleDbCommand cmd_update_new = new OleDbCommand(query_update_new, this.gMain.openConn);
cmd_update_new.ExecuteNonQuery();
}
//update empty string with new serial no
string query_update = String.Empty;
query_update = "UPDATE customer SET serial_no='" + current_index_new + "' WHERE (category='" + this.lblcategoryselected.Text + "' AND serial_no='" + String.Empty + "')";
OleDbCommand cmd_update = new OleDbCommand(query_update, this.gMain.openConn);
cmd_update.ExecuteNonQuery();
第一次插入下面的代码一个临时变量T,序列号之后,我选择基于对城市的记录,现在我知道了,以我现在想的序号,以便
{体C3}
现在我要订购我的序列号为1,2,3,4,5,6 T应该是3
我想这代码
{的C4}
请帮我.........| M.Ravibalaji