有一含数据的 Paradox表,其中最后一个字段'id'为自增字段,现在想把 id 移到第一个字段

kmfangxun 2004-06-18 10:21:37
有一含数据的 Paradox表,其中最后一个字段'id'为自增字段,现在想把 id 移到第一个字段并且设为 Primary Key,要求不要改变已有id的值,请问如何编程实现?
...全文
119 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2004-06-19
  • 打赏
  • 举报
回复
最后删除原来的表t0,将t1改名为t0就可以了。
jishiping 2004-06-19
  • 打赏
  • 举报
回复
虽然我想不起来如何让Pardox表可以指定自增字段的值,但是楼主得问题,我已经知道怎么
解决了,就是用BatchMove函数就可以了。
还是新建一个临时表。假设原来的表(t0)的字段为 Name, ID,Sex,新的表(t1)字段为ID,Name,Sex,那么设定Table1指向新的表t1,Query1的SQL语句为 SELECT ID,Name,Sex
FROM t0
try {
Table1->Active = true;
Query1->Active = true;
Table1->BatchMove(Query1, batCopy);
}
catch(EDatabaseError& e) {
ShowMessage(e.Message);
}
Table1->Active = false;
Query1->Active = false;
jishiping 2004-06-19
  • 打赏
  • 举报
回复
从Paradox到Sql Server导数据,可以用SQL语句插入记录。Sql Server的SQL语句,支持
用户自己指定自增字段的值。比如:
Query->SQL->Text = "SET IDENTITY_INSERT TableName ON\n"
"INSERT INTO TableName VALUES(123, 'test')";
但是Pardox不支持 SET IDENTITY_INSERT 语句。可以肯定得是,Pardox表也是有办法的(
好几年前做过),现在想不起来了。
kmfangxun 2004-06-19
  • 打赏
  • 举报
回复
太好了,万分感激!!!
kmfangxun 2004-06-18
  • 打赏
  • 举报
回复
To:jishiping(JSP季世平)

可是这样作ID值会不会变了!谢谢,我试一下。
jishiping 2004-06-18
  • 打赏
  • 举报
回复
直接修改,可能是不行的。创建一个临时表格,将ID作为第一个字段。然后将老的Table中的
数据复制到新的Table中,最后删除老的Table,将新的Table改名。
kmfangxun 2004-06-18
  • 打赏
  • 举报
回复
自己顶一次,请大家给个思路也行!!!
kmfangxun 2004-06-18
  • 打赏
  • 举报
回复

刚刚在 Sql Server 试了一下,从Paradox到Sql Server导数据,一点问题也没有.
kmfangxun 2004-06-18
  • 打赏
  • 举报
回复
麻烦季老大有空的时候回忆一下,谢谢了?

我是想在升级工具自动把表改了,免得自己替用户手工修改(太累了).
jishiping 2004-06-18
  • 打赏
  • 举报
回复
以前,我曾经试过可以自己指定一个自增字段的值的,不过后来没有用,已经忘记是怎么做的了。
jishiping 2004-06-18
  • 打赏
  • 举报
回复
用cb自带的Database Desktop可以调整字段的位置吗(同时保证表中的数据不变)?如果可以的话,那么肯定可以编程实现。
kmfangxun 2004-06-18
  • 打赏
  • 举报
回复
试了几次,ID值确实被改变了,原有表数据的id从1-1000的数据已经被删除了,新表的id 总是从1开始而不是从1001开始。


但是用cb自带的Database Desktop修改的话,却可以保证id值没有变化. 不知道Database Desktop是怎么做到的?




一套操作数据库(*.db,DBF) 的工具,功能非常的强大。 2000版功能: 包括建立数据、删除数据、索引、排序、打印、预览、数据转换、数据备份、修改数据结构、输出文本、输出HTML文件、统计查询、字段求合、生成决策图等功能。 2002版新增功能: 1、多窗口(MDI)与单窗口两种模式 2、提供最近使用路径 3、提供BDE版本检查 4、设置进入口令 5、给数据填加口令 5、设置启动目录 6、复制记录、复制当前字段名称、复制字段名列、复制选择区域数据 7、改进SQL执行功能 8、改进数据转换功能 9、记录查找功能 10、自动生成创建SQL语句 11、设置数据移动位数 12、改进了建立索引功能,现可以建立主重索引(多个字段) 13、自动显示当前字段类型/宽度/字段总数/索引字段 Xp版新增功能: 1、加入了功能强大的报设计、报打印功能。可自己根据数据库设计报,还可以把设计好的报另存为报文件,也可输出如Html格式等。 2、加入了BDE数据库驱动程序,解决了以前下载后没有驱动程序不能正常运行的问题。 Xp 2002.11 版新增功能:(右击菜单) 1、加入对数据的剪切、复制、粘贴、删除功能。可直接把一张内的数据复制到另一张内,也可以把一张的某字段数据复制到另一张的某字段。功能非常实用。(选择区域内数据) 2、加入输出Excel、Html、rtf、csv、txt文件格式。(选择区域内数据)

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧