两个简单的问题(50分)

  • 主题发起人 主题发起人 飞 天
  • 开始时间 开始时间

飞 天

Unregistered / Unconfirmed
GUEST, unregistred user!
我学习写数据库遇到的两个问题,
1。我用了一个自动增加的字段作为编号,这样我加一个记录,这个字段自动加1存入表中,
但是我删除删除了一些记录,导致此字段的值不连续,这样本来我的表中只有9个记录,
编号却到了40,这样下去随着增加删除的操作,编号不是越来越大????
这怎么解决啊????
2。怎么验证日期格式的合法性啊??
多谢各位了!
 
目前中国最好的论坛:天路社区http://club.topdigi.com.cn
进入newclub后是xp风格,集成调查、版面会议、版面专题、版面资源、PICQ、三种看帖显示、强大UBB代码、强大的后台管理统计系统,丰富的斑竹的管理功能(如备份、加盟会员、各种日志)

界面可以说无敌,差酷菜单,xp风格右键,动态变颜色导航条,滑动分类论坛菜单,PICQ滑动菜单!

数据库sqlserver2000,存储过程,事务保证,数据备份。树型最好的算法解决树型结构,存储过程分页,快速和稳定。多步数据提交事务处理,保证数据不会出现错误,斑竹超级备份功能,随时随地保存静态显示在本地!


还有很多无法一一说明,请来看看!

目前我们缺的是知名度,却的是人气,希望大家共同来支持天路社区,办成中国最好的原创社区!

我们邀请你来做斑竹,体会其中的强大功能
我们邀请你来参观,谈出你的意见和想法以及改进的地方
我们邀请你来学习,共同开发opensource

给点鼓励好吧!
 
1、这个当然,对于计算机来说读1和读10000000是没有什么时间分别的。
2、
try
StrToDateTime(AString); or DateTimeToStr(ADateTime);
excetp
showmessage('error');
end;
 
1 不知道你用的数据库是什么,如果是SQL SERVER,你只要把这个字段设为INDEX,SQL SERVER
会自动给此字段赋值,达到最大值后进行循环处理,总而言之是你不用管,用就可以了
2 我一般这样验证
try
strtodate(dbedit1.text);
except
showmessage('错误信息');
end;
 
我无话可说。
好像就是这样。

关注
 
1、用下面的函数可以实现
function Get_CanUsed_Dm: String;
begin
with qry_Temp do
begin
Close;
SQL.Text := 'Select min(to_Number(col1))+1 from a '#13#10 +
'where to_Number(col1)+1 not in (Select to_Number(col1) from a) ' +
' and 0 in (Select to_Number(col1) from a) ';
open;
if Trim(Fields[0].AsString) = '' then
Result := '0'
else
Result := Fields[0].AsString;
end;
end;

2、大家的办法虽然残忍,但很有效!
 
第一个问题没有什么好说的;
第二个问题,输入日期时为什么不用日期控件呢?DELPHI自己也带有呵?!
 
1、就是这样的,除非自己编号
2、最好用控件。
 
多人接受答案了。
 
后退
顶部