首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

急关于Delphi的数据的插入,该怎么解决

2012-03-21 
急~~~~~关于Delphi的数据的插入用table就会在所在部门报错:classEVariantTypeCastErrorwithmessageCouldno

急~~~~~关于Delphi的数据的插入
用table就会在所在部门报错:classEVariantTypeCastError   with   message   'Could   not   convert   varient   of   type(null)   into   type(string). '
要是用query的话,程序可以运行,但数据没有插入数据库.

我今天才注册的,不知道有没有分,要是有的话,一定给....
拜托各位高手帮帮我~~~~~~~
代码如下:
procedure   TEBappend.BitBtn1Click(Sender:   TObject);
begin
    try
    with   DM.E_BasicTab   do
        begin
          Append;
              FieldByName( 'EMP_NO ').AsString:=Edit1.Text;   //员工编号
              FieldByName( 'EMP_NAME ').AsString:=Edit2.Text;   //姓名
              FieldByName( 'EMP_GENDER ').Value:=Trim(ComboBox1.Text);   //性别
              FieldByName( 'EMP_EDUCATION ').Value:=Trim(ComboBox2.Text);   //学历
              FieldByName( 'EMP_BIRTHDAY ').Value:=Trim(MaskEdit1.Text);   //出生年月
              FieldByName( 'EMP_HOMETOWN ').Value:=Trim(Edit4.Text);   //籍贯
              FieldByName( 'EMP_ID ').Value:=Trim(MaskEdit3.Text);   //身份证号码
              FieldByName( 'EMP_MARRIAGE ').Value:=Trim(ComboBox3.Text);   //婚姻状况
              FieldByName( 'EMP_WORKTIME ').Value:=Trim(MaskEdit4.Text);   //参加工作时间
              FieldByName( 'EMP_ADDRESS ').Value:=Trim(Edit5.Text);     //住址
              FieldByName( 'EMP_TELENO ').Value:=Trim(MaskEdit2.Text);//电话
              FieldByName( 'EMP_EMAIL ').Value:=Trim(Edit3.Text);   //邮箱地址
              FieldByName( 'DEPT_ID ').AsString:=Trim(DBLookupComboBox1.KeyValue);   //所在部门
              FieldByName( 'PHOTO ').Assign(image1.Picture.Bitmap);   //照片
          DM.E_BasicTab.post;
        end;
          application.MessageBox( '保存成功! ', '提示 ',64);
    except
          application.MessageBox( '系统出错! ', '提示 ',64);
    end;
        close;
end;
{begin
try
        with   DM.E_BQuery1   do
        begin
              Close;
              SQL.Clear;
              SQL.Add( 'insert   into   PERSONNEL_PLAN(EMP_NO,EMP_NAME,EMP_GENDER,EMP_EDUCATION,EMP_BIRTHDAY,EMP_HOMETOWN,EMP_ID,EMP_MARRIAGE,EMP_WORKTIME,EMP_ADDRESS,EMP_TELENO,EMP_EMAIL,DEPT_ID,PHOTO) ');
              SQL.Add( 'values   (:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n) ');
              ParamByName( 'a ').AsString:=Edit1.Text;   //员工编号
              ParamByName( 'b ').AsString:=Edit2.Text;   //姓名
              ParamByName( 'c ').Value:=Trim(ComboBox1.Text);   //性别


              ParamByName( 'd ').Value:=Trim(ComboBox2.Text);   //学历
              ParamByName( 'e ').Value:=Trim(MaskEdit1.Text);   //出生年月
              ParamByName( 'f ').Value:=Trim(Edit4.Text);   //籍贯
              ParamByName( 'g ').Value:=Trim(MaskEdit3.Text);   //身份证号码
              ParamByName( 'h ').Value:=Trim(ComboBox3.Text);   //婚姻状况
              ParamByName( 'i ').Value:=Trim(MaskEdit4.Text);   //参加工作时间
              ParamByName( 'j ').Value:=Trim(Edit5.Text);     //住址
              ParamByName( 'k ').Value:=Trim(MaskEdit2.Text);//电话
              ParamByName( 'l ').Value:=Trim(Edit3.Text);   //邮箱地址
              ParamByName( 'm ').Value:=Trim(DBLookupComboBox1.KeyValue);   //所在部门
              ParamByName( 'n ').Assign(image1.Picture.Bitmap);   //照片
          ExecSQL;
          end;
          application.MessageBox( '保存成功! ', '提示 ',64);
    except
          application.MessageBox( '系统出错! ', '提示 ',64);
    end;
        close;
end;     }


[解决办法]
要么就
if DBLookupComboBox1.KeyValue <> null then ParamByName( 'm ').Value:=Trim(DBLookupComboBox1.KeyValue)

热点排行