CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

如何给主关键字自动赋值?

楼主yuanhui2000(yuanhui)2001-02-02 18:44:00 在 Delphi / VCL组件开发及应用 提问

希望能自动产生一些值,这些值永远不重复,删除一条记录后再插入时也不重复,最好还能是升序或者降序排列  
  提供实用的例子就加分 问题点数:30、回复次数:6Top

1 楼ePing(是谁动了我的CSDN的ID?)回复于 2001-02-02 19:02:00 得分 23

在数据库中一般都有自动增量这种方式实现,比如说在SqlServer  
  中,例子:  
  USE   pubs  
   
  IF   EXISTS(SELECT   TABLE_NAME   FROM   INFORMATION_SCHEMA.TABLES  
   
  WHERE   TABLE_NAME   =   'new_employees')  
  DROP   TABLE   new_employees  
  GO  
  CREATE   TABLE   new_employees  
  (  
    id_num   int   IDENTITY(1,1),  
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
    fname   varchar   (20),  
    minit   char(1),  
    lname   varchar(30)  
  )  
       
  INSERT   new_employees  
  (fname,   minit,   lname)  
  VALUES  
  ('Karin',   'F',   'Josephs')  
       
  INSERT   new_employees  
  (fname,   minit,   lname)  
  VALUES  
  ('Pirkko',   'O',   'Koskitalo')  
  划线处就是实现部分!  
   
  Top

2 楼halfone(蛮牛)回复于 2001-02-02 19:03:00 得分 1

coCreateGuid()   不会重复。而且升序。Top

3 楼qkl(康)回复于 2001-02-02 19:20:00 得分 2

ePing(三少)的是一种方法.  
  还有其他方法:在SQL   server中先定义一序列数,后用在触发器中调用赋值,或者在通过存储过程取序列数在客户端调用赋值;在paradox中用"+"定义字段,也可自动增量;Top

4 楼yuanhui2000(yuanhui)回复于 2001-02-02 21:23:00 得分 0

大家能不能提供一种编码方法,要求主关键字中的值一不重复,而且又是有意义的编码,比如可以根据编码分析出其所在部门.政治面貌等,最好不用存取过程和sql语句,给我提供一个用函数解决的办法是最好不过了  
  我们现在用的方法是先遍历整个表,找出最大值,然后将最大值加一,但是当删掉其中一个后,被删掉的那个编号将永远空着,并且觉得若是已有记录达到一万条左右时,添加一条记录明显变慢  
  因为我们delphi脚本语言编写,对有些东西支持不是很好,所以希望大家能提供一个实用的方法Top

5 楼SAsura(爱我别走)回复于 2001-02-02 22:30:00 得分 3

SQLServer有没有自动增量类型Paradox和Access里面都有。Top

6 楼lwm8246(lwm8246)回复于 2001-02-02 22:36:00 得分 1

最好的办法是在触发器(insert)中实现.相对来说速度较快.c/s就应该充分发挥后台数据库的  
  功能。Top

相关问题

  • sql server中的主关键字和外关键字的问题!
  • baidu可以自动校正关键字???
  • 关于主关键字的问题...
  • 如何设定主关键字?
  • BDE取表的主关键字
  • identity关键字引起的当前行主关键字返回问题
  • 文本框自动赋值?
  • 一个表的主关键字段是自动编号,当我删除一条纪录后,缺掉的编号并不会自动补上
  • delphi怎么不能自动完成关键字
  • delphi中有没有自动完成关键字的功能?

关键词

  • 编码
  • 赋值
  • minit
  • 自动增量
  • 重复
  • lname
  • 方法
  • fname
  • employees
  • 实现

得分解答快速导航

  • 帖主:yuanhui2000
  • ePing
  • halfone
  • qkl
  • SAsura
  • lwm8246

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo