如果不能直接设置属性值实现,可以写一个触发器。在插入记录时调用,触发器中检查记录数,如果超出要求,不允许插入。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Desire := '加不加分随你';
—————————————————————————————————
       

解决方案 »

  1.   

    定义一个常量用来限制记录数,每次打开数据库时判断是否大于限制数,如果大于就showmessage一个消息
      

  2.   

    要求当有记录插入时:
    if 记录数<指定值时 then 插入
    else if 记录数=指定值时 插入并删除首记录保持记录总数不变;还有,
    向表中插入一条记录,应该用什么样的语句?
    用table还是query好呢?
    我的表要保存一年的数据,所以可能数据量比较大,我想要效率好点。
      

  3.   

    大家说话呀!回答了问题另开帖子加分!
    向表中插入一条记录,应该用什么样的语句好
    用table的append还是query的insert好呢?
      

  4.   

    几层结构,table效率高点,但不如query灵活,建议还是用触发器吧
      

  5.   

    嘻嘻.创建表的时候不是可以对field加check吗?
    create table mytable11(myfield integer check (myfield<=12))
    插入记录用什么都无所谓.关键是保证不出错,有效率(我倾向使用query.速度快)
      

  6.   

    呵呵,看错了....................
    sorry.
      

  7.   

    呵呵,没关系的说。学习学习!
    用query的话是不是要给表建立索引啊?这个语句怎么写的来着?
      

  8.   

    ok,ID号自动增加
    CREATE TABLE jobs
    (
       job_id  smallint
          IDENTITY(1,1)
          PRIMARY KEY CLUSTERED CHECK (job_id <= 1000),
       job_desc        varchar(50)     NOT NULL
       max_lvl tinyint NOT NULL
          
    )
      

  9.   

    to OpenVMS(半知半解) 
    我需要实现的是保持表中的总记录数不变,但能不断更新。
    你这样做的结果应该是记录数超过某个值时就不能更新表了。
    不知道我理解的对不对
      

  10.   

    Trigger 方式:
    Create Trigger trg_Test ON TableName
    FOR INSERT
    AS
       IF @@ROWCOUNT=0 RETURN 
       Declare @cnt int
       SELECT Top 1 @cnt=Rows From sysindexes where ID=Object_ID(N'TableName') 
       IF @cnt+@@ROWCOUNT>1000  /*(1000為最大的記錄數 */
        BEGIN
            RAISERROR('超出了允許的最大記錄數' ,15,1)
            ROLLBACK TRAN
       END