Foxtable(狐表)用户栏目专家坐堂 → 求教用ADOXBuilder如何修改列类型


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

主题:求教用ADOXBuilder如何修改列类型

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/4 13:36:00 [显示全部帖子]

以下是引用cxabc123在2013-5-4 13:30:00的发言:

您说的这个方法是在表刚创建还可以用,但是创建之后并录入了数据,发现设置的列类型有问题需要修改时就不能用了,比如字符列,由于设置时对字符长度估计不准,需要修改为备注型时,或者需要对字符长度进行修改时,这种方法就不好使了.


这个是设计师责任了:比如设计一座桥梁,当初没充分考虑过几年后可能车流量,几年后满足不了车流量,如何解决?能简单加宽吗?


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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/7 23:37:00 [显示全部帖子]

以下是引用傻马难骑在2013-5-7 20:47:00的发言:

期待狐狸爸爸解释下,应该有解决的办法吧图片点击可在新窗口打开查看


 曲线救国的办法也是有的: 储存 ==> 删除 ==>增加 ==> 赋值

Dim cmd As New SQLCommand

Dim dt As DataTable

cmd.C

cmd.CommandText = "SELECT *  From {客户}"

dt = cmd.ExecuteReader()


Dim Builder As New ADOXBuilder("Sale") '要指定数据源名称

Builder.Open()

With Builder.Tables("客户")

    .DeleteColumn("客户名称")

    .AddColumn("客户名称" ,ADOXType.String, 100)

End With

Builder.Close() '关闭ADOXBuilder


For Each dr As DataRow In dt.datarows

    Dim cmd1 As New SQLCommand

    cmd1.C

    cmd1.CommandText = "UPDATE {客户} SET 客户名称 = '" & dr("客户名称") & "' WHERE 客户ID = '" & dr("客户ID") & "'"

    cmd1.ExecuteNonQuery()

Next

Syscmd.Project.Open(ProjectFile)



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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/8 9:08:00 [显示全部帖子]

以下是引用cxabc123在2013-5-8 9:03:00的发言:

这种办法和2楼的一样,并不是很理想

 


在老大強大ADOXBuilder前,這是唯一能做的


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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/8 9:17:00 [显示全部帖子]

搜索到SQL修改列類型的方法:

2.更改列的属性


例:表table2中的列id为int型,现改为char型
alter table table2 alter column id char

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/8 9:32:00 [显示全部帖子]

試驗成功!

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "Sale"
cmd.CommandText = "alter Table 客户 alter Column 客户名称 Text"
cmd.ExecuteNonQuery()
Syscmd.Project.Open(ProjectFile)

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/11 14:07:00 [显示全部帖子]

我也是百度的,自己搜索.

 回到顶部