以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- SQL数据重新排序问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69925) |
-- 作者:jaegea -- 发布时间:2015/6/12 19:19:00 -- SQL数据重新排序问题 有数据如下 列名:列1,列2,列3,列4,列5 行1值:a1,a2,a3,a4,a5 行2值:b1,b2,b3,b4,b5 行3值:c1,c2,c3,c4,c5 用SQL语句采用事务方式重新进行排序,但结果不对 Di m c n1 A s C onnection = Con nections("数据源") \'获取数据库连接 Di m cm d1 a s Ne w SQL Command cmd1.Co mmand Text = "Up date {表A} Set [列1]=\'b1\' Where [列1] = \'a1\'" cmd1.E xecuteNonQuery() Di m cm d2 a s Ne w SQL Command cmd2.C ommand Text = "Up date {表A} Set [列1]=\'c1\' Where [列1] = \'b1\'" cmd2.E xecuteNonQuery() Di m cm d3 a s Ne w SQ LCommand cmd3.C ommand Text = "Up date {表A} Set [列1]=\'a1\' Where [列1] = \'c1\'" cmd3.E xecu teNonQuery() cmd.D ispose() m sg box(ex.tostring) cm d.D ispose() Ret urn False
怎样才能对数据列1重新排序? 按以上方法会产生列1中出现重复值而不是重新排序 |
-- 作者:jaegea -- 发布时间:2015/6/13 8:03:00 -- 没人在呀? |
-- 作者:jaegea -- 发布时间:2015/6/13 11:55:00 -- 各位版主來救救 |
-- 作者:jaegea -- 发布时间:2015/6/13 13:37:00 -- 沒人理我…… |
-- 作者:Bin -- 发布时间:2015/6/13 14:33:00 -- 你想做什么.没看懂 |
-- 作者:游 -- 发布时间:2015/6/13 14:34:00 -- 你这不就是修改数据吗 和你说得排序没有关系
|
-- 作者:jaegea -- 发布时间:2015/6/13 16:31:00 -- 就是对列1重新排序,其它数据不变,将所有列1的值等于a1的数据改为b1,将所有列1所有值等于b1的值改为c1,将所有列1值等于c1的值改为a1,就是列2,列3,列4其它列的所有数据不变,单单对列1的数据进行对调更改 Di m cm d1 a s Ne w SQL Command cmd1.Co mmand Text = "Up date {表A} Set [列1]=\'b1\' Where [列1] = \'a1\'" cmd1.E xecuteNonQuery() Di m cm d2 a s Ne w SQL Command cmd2.C ommand Text = "Up date {表A} Set [列1]=\'c1\' Where [列1] = \'b1\'" cmd2.E xecuteNonQuery() Di m cm d3 a s Ne w SQ LCommand cmd3.C ommand Text = "Up date {表A} Set [列1]=\'a1\' Where [列1] = \'c1\'" cmd3.E xecu teNonQuery() |
-- 作者:jaegea -- 发布时间:2015/6/13 16:35:00 -- 现在产生的结果是,因为第一条命令已经将列1的值为a1的改成了b1,第二条命令将所有b1值改为了c1,第三条命令将所有c1值改为了a1,最后所有列1的值都变成了a1了,而不是对调 [此贴子已经被作者于2015/6/13 16:35:00编辑过]
|
-- 作者:yinyb36 -- 发布时间:2015/6/14 9:53:00 -- Di m cm d a s Ne w SQL Command cmd.Co mmand Text = "Up date {表A} Set [列1]=\'临时\' Where [列1] = \'a1\'" cmd.E xecuteNonQuery() cmd.C ommand Text = "Up date {表A} Set [列1]=\'a1\' Where [列1] = \'b1\'" cmd.E xecu teNonQuery() cmd.C ommand Text = "Up date {表A} Set [列1]=\'b1\' Where [列1] = \'c1\'" cmd.E xecuteNonQuery() cmd.Co mmand Text = "Up date {表A} Set [列1]=\'a1\' Where [列1] = \'临时\'" cmd.E xecuteNonQuery() [此贴子已经被作者于2015/6/14 9:57:10编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/6/14 10:56:00 -- 呃,避免循环很简单。
a1 改成 aa11
b1 改成 a1
c1 改成 b1
aa11 改成 c1 |