表结构如下:
CREATE TABLE [dbo].[CardSet] (
[CardCode] [bigint] NOT NULL ,
[UserCode] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[IdCard] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[HomeAddr] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[SendCardMan] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[SendCardTime] [datetime] NULL ,
[ChangeCardMan] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[changecardtime] [datetime] NULL ,
[CardState] [tinyint] NULL ,
[CardType] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[DoorRight] [bit] NULL ,
[linesmanright] [bit] NULL ,
[WorkRight] [bit] NULL ,
[UserFlag] [tinyint] NULL ,
[DeptCode] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[DeptName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[Memo] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]代码如下
  T_usercardset.Close;
  T_usercardset.Open;
  if T_usercardset.Locate('cardcode',123 , []) then
  begin
    application.MessageBox('已存在该卡号!请使用修改功能', '信息提示:', mb_ok);
    exit;
  end;  t_usercardset.close;
  t_usercardset.open;
  t_usercardset.Last;  T_usercardset.Insert;
  CardCode :=123 ;
  //T_usercardset.FieldValues['cardcode'] := CardCode;
  t_usercardset.fieldbyname('cardcode').asfloat:=cardcode; //cardcode:int64  T_usercardset.FieldValues['usercode']:='aaa';  {
  T_usercardset.FieldByName('username').asstring :='aaa';
  T_usercardset.FieldByName('IDCard').asstring :='aaa';
  T_usercardset.FieldByName('HomeAddr').asstring := 'aaa';  //T_usercardset.FieldByName('sendcardman').asstring := trim(g_sUser);
  //T_usercardset.FieldByName('sendcardtime').asdatetime := now();  T_usercardset.FieldByName('changecardman').asstring :='aaa';
  T_usercardset.FieldByName('changecardtime').asdatetime := now();    T_usercardset.FieldByName('cardtype').AsString := '2';    T_usercardset.FieldByName('UserFlag').AsInteger := 1;
    T_usercardset.fieldbyname('deptcode').asstring := 'aaa';
    T_usercardset.fieldbyname('deptname').asstring := 'aaa'; // T_usercardset.FieldByName('memo').asstring := 'aaa';
  }
  //t_usercardset.Last;
  try
    T_usercardset.Post;
  except
    T_usercardset.Cancel;
    T_usercardset.Close;
    ShowMessage('error1'); // Added by admin 2006-6-12 18:36:21
    exit;
  end;  T_usercardset.Close;
运行以上代码在有些机器上会出现exception class Evariantbadvartypeerror with message 'invalid varianttype ' process stopped,use step or run to continue.