📄 unithouse.~pas
字号:
edtHAddress.Text := adoHouse.fieldbyname('HAddress').AsString;
edtHphone.Text := adoHouse.fieldbyname('Hphone').AsString;
edtHtelephone.Text := adoHouse.fieldbyname('Htelephone').AsString;
// cbxWC.Text := adoHouse.fieldbyname('HuserWC').AsString;
memHouse.Text := adoHouse.fieldbyname('Hmemo').AsString;
ButtonState(4);
end;
procedure TfrmHouse.FormShow(Sender: TObject);
begin
inidata;
showlist;
edtCID.Text := 'C001';
edtCID.ReadOnly := true;
pclHouse.TabIndex := 0;
if blnAdd = false then //如果用户没有添加的权限,则将添加按钮置为不可见状态
bbtnAdd.Visible := false;
if blnModify = false then //如果用户没有修改的权限,则将修改按钮置为不可见状态
bbtnModify.Visible := false;
if blnDel = false then //如果用户没有删除的权限,则将删除按钮置为不可见状态
bbtnDel.Visible := false;
end;
{
*************************************************************************************
函数名称:数据保存
功能描述:将添加、修改的数据保存到数据库中
输入参数: 无
输出参数: 无
返回 值: 无
说 明: 添加、修改操作要调用该函数以达到显示更新后的数据显示目的
*************************************************************************************
}
procedure TfrmHouse.bbtnSaveClick(Sender: TObject);
var
strMsg : string;
begin
try
case iflag of
1:
begin
strMsg := '添加';
{if (edtCID.Text = '') or (edtHID.Text = '') or (edtHname.Text = '') or (edtHouseholder.Text = '') or (edtHphone.Text = '') then
begin
showmessage('带*号的项不能为空');
exit;
end;}
if length(edtHID.Text)<>9 then
begin
showmessage('请输入九位正确的家庭编号'); //家庭编号为4位社区编号+2位楼号+3位室号
exit; //比如:coo101501
end;
adopub.Close;
adopub.SQL.Text := 'select * from THouse where HId=''' + edtHId.Text +''''; //如果库中有相同的用户编号,以下将判断它的状态值
adopub.Open;
if adopub.RecordCount<>0 then
begin
if adopub.FieldByName('HState').AsString='1' then //如果状态值为1,说明库中有相同的家庭编号,已经存在该用户
begin
showmessage('已经存在该用户');
exit;
end
else //如果状态值为0,将其状态值恢复为1
begin
adoshare.Close;
strsql := 'update THouse set Hname=''' + edtHname.Text + ''',HAddress='''+edtHAddress.Text+''',Hphone=''';
strsql := strsql + edtHphone.Text + ''',Htelephone='''+edtHtelephone.Text+''',Householder='''+edtHouseholder.Text;
strsql := strsql + ''',HState='+'''1'''+',Hmemo='''+memHouse.Text + ''' where HId='''+edtHId.Text+'''';
adoshare.SQL.Text := strsql;
adoshare.ExecSQL;
adoshare.Close;
showmessage('添加成功');
showlist;
exit;
end;
end;
//如果库中没有相同的用户编号,则添加一条新记录,将状态值置为1
adoshare.Close;
strsql := 'insert into THouse (HId,CId,Hname,HAddress,Hphone,Htelephone,Householder,HState,HUserWC,Hmemo) values (''';
strsql := strsql + edtHId.Text + ''',''' + edtCId.Text + ''',''' + edtHname.Text + ''',''' + edtHAddress.Text;
strsql := strsql + ''',''' + edtHphone.Text + ''',''' + edtHtelephone.Text + ''',''' + edtHouseholder.Text;
strsql := strsql + ''',' + '''1''' + ',''' + ''',''' + memHouse.Text + ''')';
adoshare.SQL.Text := strsql;
adoshare.ExecSQL;
adoshare.Close;
showmessage('添加成功');
showlist;
end;
2:
begin
strMsg := '修改';
{if (edtCID.Text = '') or (edtHID.Text = '') or (edtHname.Text = '') or (edtHouseholder.Text = '') or (edtHphone.Text = '') then
begin
showmessage('带*号的项不能为空');
exit;
end;}
adoshare.Close;
strsql := 'update THouse set Hname=''' + edtHname.Text + ''',HAddress='''+edtHAddress.Text+''',Hphone=''';
strsql := strsql + edtHphone.Text + ''',Htelephone='''+edtHtelephone.Text+''',Householder='''+edtHouseholder.Text;
strsql := strsql + ''',Hmemo='''+memHouse.Text + ''' where HId='''+edtHId.Text+'''';
adoshare.SQL.Text := strsql;
adoshare.ExecSQL;
adoshare.Close;
showmessage('修改成功');
showlist;
end
else
exit;
end;
except
on e:exception do
showmessage('执行'+strMsg+'操作不成功');
end;
end;
procedure TfrmHouse.adoHouseAfterScroll(DataSet: TDataSet);
begin
edtHId.Text := adoHouse.fieldbyname('HId').AsString;
edtHname.Text := adoHouse.fieldbyname('Hname').AsString;
edtHouseholder.Text := adoHouse.fieldbyname('Householder').AsString;
edtHAddress.Text := adoHouse.fieldbyname('HAddress').AsString;
edtHphone.Text := adoHouse.fieldbyname('Hphone').AsString;
edtHtelephone.Text := adoHouse.fieldbyname('Htelephone').AsString;
//cbxWC.Text := adoHouse.fieldbyname('HuserWC').AsString;
memHouse.Text := adoHouse.fieldbyname('Hmemo').AsString;
end;
{
*************************************************************************************
函数名称: 初始化数据
功能描述: 将数据字典中的数据初始化到combox下拉列表中
输入参数: 无
输出参数: 无
返回 值: 无
说 明:
*************************************************************************************
}
procedure TfrmHouse.iniData;
begin
try
adoshare.close;
adoshare.SQL.Text := 'select a.DId,a.DName from TDataParam a,TDataType b where a.DTypeId=b.DTypeId and b.DTypeName=''卫生厕''';
adoshare.Open;
while not adoshare.Eof do
begin
// cbxWC.Items.Add(adoshare.fieldbyname('DId').asstring+'['+adoshare.fieldbyname('DName').asstring+']');
adoshare.Next;
end;
adoshare.Close;
adoshare.close;
adoshare.SQL.Text := 'select HId from THouse';
adoshare.Open;
while not adoshare.Eof do
begin
//cbxFno.Items.Add(adoshare.fieldbyname('HId').AsString);
adoshare.Next;
end;
adoshare.Close;
except
on e:exception do
showmessage('初始化下拉列表失败');
end;
end;
procedure TfrmHouse.bbtnDelClick(Sender: TObject);
var
iDel : integer;
begin
iDel := application.MessageBox('确定要删除吗?','删除提示',MB_YESNO+MB_Iconquestion);
if iDel=6 then
begin
adoshare.Close;
adoshare.SQL.Text := 'update THouse set HState=''0'' where HID='''+edtHID.Text+'''';
adoshare.ExecSQL;
adoshare.Close;
showmessage('删除成功');
showlist;
end
else
begin
exit;
end;
end;
procedure TfrmHouse.bbtngotoClick(Sender: TObject);
begin
pclHouse.TabIndex := 0;
end;
{procedure TfrmHouse.bbtnSearchClick(Sender: TObject);
begin
strSearch := ''; //清空
if cbxFno.Text<>'' then
strSearch := 'HId='''+cbxFno.Text+'''';
if edtFname.Text<>'' then
begin
if cbxFno.Text<>'' then
strSearch := strSearch + ' and Hname like ''%'+edtFname.Text+'%'''
else
strSearch := 'Hname like ''%'+edtFname.Text+'%''';
end;
if edtFholder.Text<>'' then
begin
if (cbxFno.Text<>'') or (edtFname.Text<>'') then
strSearch := strSearch + ' and Householder='''+edtFholder.Text+''''
else
strSearch :='Householder='''+edtFholder.Text+'''';
end;
if strSearch<>'' then
begin
adoHouse.Close;
adoHouse.SQL.Text := 'select * from THouse where '+strSearch+' and HState=''1''';
adoHouse.Open;
end
else
begin
adoHouse.Close;
adoHouse.SQL.Text := 'select * from THouse where HState=''1''';
adoHouse.Open;
end;
end; }
{procedure TfrmHouse.BitBtn1Click(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
form2.QuickRep1.Preview;
end; }
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -