一个管理系统用interbase建立后台数据库在前台添加用户时,
显示信息如下:
project pmisusr.exe raised exception class EDBEngineError with message 'field value requiredvalidation error for column worksheet,value "*** null ***".process stopped. Use Sep or run to continue.
程序如下:procedure TDM_main.SetAddItemsFilter(ID:String);
begin
  with T_add_items do
  begin
    Filter:='WORKSHEET='''+ID+'''';
    Filtered:=True;
    Open;
  end;
end;procedure TDM_main.AddItems(WorkSheet, Custom:String; StartTime, EndTime:TDateTime);
var
  Room:String;
begin
  Room:=Q_room_valid.FieldValues['ID'];
  T_add_items.AppendRecord([0,WorkSheet,Custom, Room, '0',StartTime,EndTime]);
  T_add_items.Refresh;
请高人给予指教谢谢......

解决方案 »

  1.   

    validation error for column worksheet,value "*** null ***".process stopped. Use Sep or run to continue.
    某一字段的值为Null,引起程序异常。仔细检查一下语法吧!或者把字段的为空属性改为允许!
      

  2.   

    你看看数据库中的字段设置是不是not Null
      

  3.   

    worksheet 是一个外部关键字建表如下:请给予指导 谢谢
    CREATE DOMAIN "ITEMS_ID" AS INTEGER NOT NULL;
    CREATE DOMAIN "LONG_CODE" AS CHAR(20) NOT NULL;
    CREATE DOMAIN "ROOM_ID" AS CHAR(5) NOT NULL;
    CREATE DOMAIN "SHEET_ID" AS CHAR(10) NOT NULL;
    CREATE DOMAIN "SHORT_CODE" AS CHAR(1) NOT NULL;/* Table: SHEET_ITEMS, Owner: PMISDBA */CREATE TABLE "SHEET_ITEMS" 
    (
      "ID" "ITEMS_ID",
      "WORKSHEET" "SHEET_ID",
      "CUSTOM" "LONG_CODE",
      "ROOM" "ROOM_ID",
      "MODE" "SHORT_CODE",
      "START_TIME" TIMESTAMP,
      "END_TIME" TIMESTAMP,
    CONSTRAINT "SHEET_ITEMS_ID" PRIMARY KEY ("ID")
    );
    ALTER TABLE "SHEET_ITEMS" ADD CONSTRAINT "CUSTOM" FOREIGN KEY ("CUSTOM") REFERENCES CUSTOM ("ID");
    ALTER TABLE "SHEET_ITEMS" ADD CONSTRAINT "MODE" FOREIGN KEY ("MODE") REFERENCES MODE ("CODE");
    ALTER TABLE "SHEET_ITEMS" ADD CONSTRAINT "ROOM" FOREIGN KEY ("ROOM") REFERENCES ROOM ("ID");
    ALTER TABLE "SHEET_ITEMS" ADD CONSTRAINT "WORKSHEET1" FOREIGN KEY ("WORKSHEET") REFERENCES WORKSHEET ("ID");
    SET TERM ^ ;
    /* Triggers only will work for SQL triggers */CREATE TRIGGER "ITEMS_ID" FOR "SHEET_ITEMS" 
    ACTIVE BEFORE INSERT POSITION 0
    AS
    BEGIN
      NEW.ID=GEN_ID(GEN_ITEMS_ID,1);
    END
     ^COMMIT WORK ^
    SET TERM ;^