您的位置:首页 > 数据库

从右键菜单里粘贴复制的工资到数据库里

2016-11-08 10:28 169 查看
在popupmenu的onclick事件里添加如下事件处理程序



procedure TForm3.N1Click(Sender: TObject);
var
KeFuAry: TArray<string>;
YueFen: string;
MyList: TStringList;
MyAdoq: TADOQuery;
I: Integer;
MyClipboard: TClipboard;
begin
MyList := TStringList.Create;
MyAdoq := TADOQuery.Create(nil);
MyClipboard := TClipboard.Create;
try
MyAdoq.Connection := frmDataPool.ADOConnection1;
//获取月份
if not InputQuery('输入月份', '输入月份', YueFen) then
begin
ShowMessage('请输入月份');
Exit;
end;
//从剪切板取到数据
MyList.Text := MyClipboard.AsText;

//取出空值逐行读取
for I := 0 to MyList.Count - 1 do
begin
if (MyList[I] <> '') and (MyList[I] <> '工资汇总:') then
begin
KeFuAry := MyList[I].Replace(':', ',').Replace('(', '').Replace(')', '').Replace('基本工资', '').Replace('- 个人社保', ',').Replace('- 个人公积金',',').
Replace('+ 加班请假', ',').Replace('+ 销售提成', ',').Replace('+ 销售奖金',',').Replace('+ 积分奖金', ',').Replace('+ QQ群奖金', ',').
Replace('= ',',').Replace(' 元','').Split([',']);

//写入数据库
with MyAdoq do
begin
Close;
SQL.Text := 'INSERT INTO 工资表(月份,姓名,基本工资,个人社保代缴,个人公积金代缴,加班请假,销售提成,销售奖金,售后积分奖金,QQ群等级奖金,工资总额) VALUES ('+YueFen.QuotedString+','+KeFuAry[0].QuotedString+','+
KeFuAry[1]+',-'+KeFuAry[2]+',-'+KeFuAry[3]+','+KeFuAry[4]+','+KeFuAry[5]+','+
KeFuAry[6]+','+KeFuAry[7]+','+KeFuAry[8]+','+KeFuAry[9]+')';
ExecSQL;
end;
end;

//防止程序假死
Application.ProcessMessages;
end;

//刷新下显示
frmDataPool.qry工资表.Close;
frmDataPool.qry工资表.Open;
finally
MyList.Free;
MyAdoq.Free;
MyClipboard.Free;
end;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐