A
aabb_1980
Unregistered / Unconfirmed
GUEST, unregistred user!
各位朋友,代码如下,这个过程是用来给存储过程的各位参数赋值,但不知道有哪位大虾可以将下面的代码用一个循环语句进行代码的精减,请各位朋友赐教,谢谢!!
procedure TFrm_Input.Insert_Update_Data(Sql: string);
var
Mem: TMemoryStream;
begin
ADOStoredProc1.Close;
ADOStoredProc1.Parameters.ParamByName('@emp_id').Value := trim(bh.Text);
ADOStoredProc1.Parameters.ParamByName('@card_id').Value := trim(ch.Text);
if mc.Checked then //是否免卡 0表示非免卡,1表示免卡
ADOStoredProc1.Parameters.ParamByName('@no_sign').Value := '1'
else
ADOStoredProc1.Parameters.ParamByName('@no_sign').Value := '0';
ADOStoredProc1.Parameters.ParamByName('@emp_name').Value := trim(sm.Text);
ADOStoredProc1.Parameters.ParamByName('@id_card').Value := trim(sfz.Text);
if pos(' ', zc.Text) > 0 then //职称
ADOStoredProc1.Parameters.ParamByName('@position_id').Value := trim(copy(zc.Text, pos(' ', zc.Text) + 10, length(zc.Text) - (pos(' ', zc.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@position_id').Value := '';
if sex.ItemIndex = 0 then //在数据库里面,0表示男,1表示女
ADOStoredProc1.Parameters.ParamByName('@sex').Value := '0'
else
ADOStoredProc1.Parameters.ParamByName('@sex').Value := '1';
if pos(' ', zw.Text) > 0 then //职位
ADOStoredProc1.Parameters.ParamByName('@job_id').Value := trim(copy(zw.Text, pos(' ', zw.Text) + 10, length(zw.Text) - (pos(' ', zw.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@job_id').Value := '';
ADOStoredProc1.Parameters.ParamByName('@hire_date').Value := FormatDateTime('yyyy-mm-dd', rzrc.Date);
if pos(' ', kcgz.Text) > 0 then //考勤规则
ADOStoredProc1.Parameters.ParamByName('@rule_id').Value := trim(copy(kcgz.Text, pos(' ', kcgz.Text) + 10, length(kcgz.Text) - (pos(' ', kcgz.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@rule_id').Value := '';
if pos(' ', depart.Text) > 0 then //部门
ADOStoredProc1.Parameters.ParamByName('@depart_id').Value := trim(copy(depart.Text, pos(' ', depart.Text) + 10, length(depart.Text) - (pos(' ', depart.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@depart_id').Value := '';
if pos(' ', gz.Text) > 0 then //工种
ADOStoredProc1.Parameters.ParamByName('@status_id').Value := trim(copy(gz.Text, pos(' ', gz.Text) + 10, length(gz.Text) - (pos(' ', gz.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@status_id').Value := '';
if Image1.Picture.Graphic <> nil then //如果有图像的话,就要对图像进行赋值!
begin
save_Picture(Mem); //将MEM进行地址传递,将其转换为图像!
ADOStoredProc1.Parameters.ParamByName('@photo').LoadFromStream(Mem, ftblob);
Mem.Free;
end
else
ADOStoredProc1.Parameters.ParamByName('@photo').Value := Null;
if pos(' ', zzmm.Text) > 0 then //政治面貌
ADOStoredProc1.Parameters.ParamByName('@polity_id').Value := trim(copy(zzmm.Text, pos(' ', zzmm.Text) + 10, length(zzmm.Text) - (pos(' ', zzmm.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@polity_id').Value := '';
if pos(' ', zg.Text) > 0 then //籍贯
ADOStoredProc1.Parameters.ParamByName('@native_id').Value := trim(copy(zg.Text, pos(' ', zg.Text) + 10, length(zg.Text) - (pos(' ', zg.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@native_id').Value := '';
if pos(' ', mz.Text) > 0 then //民族
ADOStoredProc1.Parameters.ParamByName('@nation_id').Value := trim(copy(mz.Text, pos(' ', mz.Text) + 10, length(mz.Text) - (pos(' ', mz.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@nation_id').Value := '';
if pos(' ', xl.Text) > 0 then //学历
ADOStoredProc1.Parameters.ParamByName('@edu_id').Value := trim(copy(xl.Text, pos(' ', xl.Text) + 10, length(xl.Text) - (pos(' ', xl.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@edu_id').Value := '';
if pos(' ', ss.Text) > 0 then //宿舍
ADOStoredProc1.Parameters.ParamByName('@dorm_id').Value := trim(copy(ss.Text, pos(' ', ss.Text) + 10, length(ss.Text) - (pos(' ', ss.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@dorm_id').Value := '';
ADOStoredProc1.Parameters.ParamByName('@birth_date').Value := FormatDateTime('yyyy-mm-dd', birthday.Date);
if marry.ItemIndex = 0 then //0表示未婚,1表示已婚
ADOStoredProc1.Parameters.ParamByName('@marriage').Value := '0'
else
ADOStoredProc1.Parameters.ParamByName('@marriage').Value := '1';
ADOStoredProc1.Parameters.ParamByName('@gd_date').Value := FormatDateTime('yyyy-mm-dd', bysj.Date);
ADOStoredProc1.Parameters.ParamByName('@phone_code').Value := Trim(phone.Text);
ADOStoredProc1.Parameters.ParamByName('@post_code').Value := trim(yb.Text);
ADOStoredProc1.Parameters.ParamByName('@email').Value := trim(email.Text);
ADOStoredProc1.Parameters.ParamByName('@address').Value := trim(address.Text);
ADOStoredProc1.Parameters.ParamByName('@gd_school').Value := trim(school.Text);
ADOStoredProc1.Parameters.ParamByName('@speciality').Value := trim(sszy.Text);
if UpperCase(Sql) = UpperCase('insert') then //让存储过程进行插入操作!
ADOStoredProc1.Parameters.ParamByName('@insert_update').Value := 'insert';
if UpperCase(Sql) = UpperCase('update') then //让存储过程进行插入操作!
ADOStoredProc1.Parameters.ParamByName('@insert_update').Value := 'update';
try
ADOStoredProc1.ExecProc;
ShowMessage('保存记录成功!');
except
ShowMessage('由于出于异常,保存记录失败!');
end;
end;
procedure TFrm_Input.Insert_Update_Data(Sql: string);
var
Mem: TMemoryStream;
begin
ADOStoredProc1.Close;
ADOStoredProc1.Parameters.ParamByName('@emp_id').Value := trim(bh.Text);
ADOStoredProc1.Parameters.ParamByName('@card_id').Value := trim(ch.Text);
if mc.Checked then //是否免卡 0表示非免卡,1表示免卡
ADOStoredProc1.Parameters.ParamByName('@no_sign').Value := '1'
else
ADOStoredProc1.Parameters.ParamByName('@no_sign').Value := '0';
ADOStoredProc1.Parameters.ParamByName('@emp_name').Value := trim(sm.Text);
ADOStoredProc1.Parameters.ParamByName('@id_card').Value := trim(sfz.Text);
if pos(' ', zc.Text) > 0 then //职称
ADOStoredProc1.Parameters.ParamByName('@position_id').Value := trim(copy(zc.Text, pos(' ', zc.Text) + 10, length(zc.Text) - (pos(' ', zc.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@position_id').Value := '';
if sex.ItemIndex = 0 then //在数据库里面,0表示男,1表示女
ADOStoredProc1.Parameters.ParamByName('@sex').Value := '0'
else
ADOStoredProc1.Parameters.ParamByName('@sex').Value := '1';
if pos(' ', zw.Text) > 0 then //职位
ADOStoredProc1.Parameters.ParamByName('@job_id').Value := trim(copy(zw.Text, pos(' ', zw.Text) + 10, length(zw.Text) - (pos(' ', zw.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@job_id').Value := '';
ADOStoredProc1.Parameters.ParamByName('@hire_date').Value := FormatDateTime('yyyy-mm-dd', rzrc.Date);
if pos(' ', kcgz.Text) > 0 then //考勤规则
ADOStoredProc1.Parameters.ParamByName('@rule_id').Value := trim(copy(kcgz.Text, pos(' ', kcgz.Text) + 10, length(kcgz.Text) - (pos(' ', kcgz.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@rule_id').Value := '';
if pos(' ', depart.Text) > 0 then //部门
ADOStoredProc1.Parameters.ParamByName('@depart_id').Value := trim(copy(depart.Text, pos(' ', depart.Text) + 10, length(depart.Text) - (pos(' ', depart.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@depart_id').Value := '';
if pos(' ', gz.Text) > 0 then //工种
ADOStoredProc1.Parameters.ParamByName('@status_id').Value := trim(copy(gz.Text, pos(' ', gz.Text) + 10, length(gz.Text) - (pos(' ', gz.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@status_id').Value := '';
if Image1.Picture.Graphic <> nil then //如果有图像的话,就要对图像进行赋值!
begin
save_Picture(Mem); //将MEM进行地址传递,将其转换为图像!
ADOStoredProc1.Parameters.ParamByName('@photo').LoadFromStream(Mem, ftblob);
Mem.Free;
end
else
ADOStoredProc1.Parameters.ParamByName('@photo').Value := Null;
if pos(' ', zzmm.Text) > 0 then //政治面貌
ADOStoredProc1.Parameters.ParamByName('@polity_id').Value := trim(copy(zzmm.Text, pos(' ', zzmm.Text) + 10, length(zzmm.Text) - (pos(' ', zzmm.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@polity_id').Value := '';
if pos(' ', zg.Text) > 0 then //籍贯
ADOStoredProc1.Parameters.ParamByName('@native_id').Value := trim(copy(zg.Text, pos(' ', zg.Text) + 10, length(zg.Text) - (pos(' ', zg.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@native_id').Value := '';
if pos(' ', mz.Text) > 0 then //民族
ADOStoredProc1.Parameters.ParamByName('@nation_id').Value := trim(copy(mz.Text, pos(' ', mz.Text) + 10, length(mz.Text) - (pos(' ', mz.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@nation_id').Value := '';
if pos(' ', xl.Text) > 0 then //学历
ADOStoredProc1.Parameters.ParamByName('@edu_id').Value := trim(copy(xl.Text, pos(' ', xl.Text) + 10, length(xl.Text) - (pos(' ', xl.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@edu_id').Value := '';
if pos(' ', ss.Text) > 0 then //宿舍
ADOStoredProc1.Parameters.ParamByName('@dorm_id').Value := trim(copy(ss.Text, pos(' ', ss.Text) + 10, length(ss.Text) - (pos(' ', ss.Text) + 9)))
else
ADOStoredProc1.Parameters.ParamByName('@dorm_id').Value := '';
ADOStoredProc1.Parameters.ParamByName('@birth_date').Value := FormatDateTime('yyyy-mm-dd', birthday.Date);
if marry.ItemIndex = 0 then //0表示未婚,1表示已婚
ADOStoredProc1.Parameters.ParamByName('@marriage').Value := '0'
else
ADOStoredProc1.Parameters.ParamByName('@marriage').Value := '1';
ADOStoredProc1.Parameters.ParamByName('@gd_date').Value := FormatDateTime('yyyy-mm-dd', bysj.Date);
ADOStoredProc1.Parameters.ParamByName('@phone_code').Value := Trim(phone.Text);
ADOStoredProc1.Parameters.ParamByName('@post_code').Value := trim(yb.Text);
ADOStoredProc1.Parameters.ParamByName('@email').Value := trim(email.Text);
ADOStoredProc1.Parameters.ParamByName('@address').Value := trim(address.Text);
ADOStoredProc1.Parameters.ParamByName('@gd_school').Value := trim(school.Text);
ADOStoredProc1.Parameters.ParamByName('@speciality').Value := trim(sszy.Text);
if UpperCase(Sql) = UpperCase('insert') then //让存储过程进行插入操作!
ADOStoredProc1.Parameters.ParamByName('@insert_update').Value := 'insert';
if UpperCase(Sql) = UpperCase('update') then //让存储过程进行插入操作!
ADOStoredProc1.Parameters.ParamByName('@insert_update').Value := 'update';
try
ADOStoredProc1.ExecProc;
ShowMessage('保存记录成功!');
except
ShowMessage('由于出于异常,保存记录失败!');
end;
end;