Foxtable(狐表)用户栏目专家坐堂 → SQL数据重新排序问题


  共有2744人关注过本帖树形打印复制链接

主题:SQL数据重新排序问题

帅哥哟,离线,有人找我吗?
jaegea
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
SQL数据重新排序问题  发帖心情 Post By:2015/6/12 19:19:00 [显示全部帖子]

有数据如下

列名:列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 c n A s New S ystem.D ata.O leDb.O leDbConnection(cn1.ConnectionString)
Di m c m d A s new S ystem.Da t a.OleDb.O leD bCommand
c n.O pe n()
cmd.C onnection = c n
t ry
    cm d.T ransaction = cn.B eginTransaction()   '开始事务

        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()
    cm d.T rans action.Commit() 

    cmd.D ispose()    
    cn.C lose()       
    Retu rn True
Ca tch ex As E xception
    cmd.T ransaction.Rollback()

    m sg box(ex.tostring)

    cm d.D ispose()  
    cn.Cl ose()      

    Ret urn False
E n d Try

 

怎样才能对数据列1重新排序?

按以上方法会产生列1中出现重复值而不是重新排序


 回到顶部
帅哥哟,离线,有人找我吗?
jaegea
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2015/6/13 8:03:00 [显示全部帖子]

没人在呀?

 回到顶部
帅哥哟,离线,有人找我吗?
jaegea
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2015/6/13 11:55:00 [显示全部帖子]

各位版主來救救

 回到顶部
帅哥哟,离线,有人找我吗?
jaegea
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2015/6/13 13:37:00 [显示全部帖子]

沒人理我……

 回到顶部
帅哥哟,离线,有人找我吗?
jaegea
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2015/6/13 16:35:00 [显示全部帖子]

现在产生的结果是,因为第一条命令已经将列1的值为a1的改成了b1,第二条命令将所有b1值改为了c1,第三条命令将所有c1值改为了a1,最后所有列1的值都变成了a1了,而不是对调
[此贴子已经被作者于2015/6/13 16:35:00编辑过]

 回到顶部