📄 askinfoform.~pas
字号:
for I := 0 to RecordCount - 1 do
begin
if Fields[0].AsInteger - TempNo > 1 then
begin
Break;
end
else
begin
TempNo := Fields[0].AsInteger;
Next;
end;
Result := IntToStr(TempNo + 1);
end;
finally
Free;
end;
end;
function TFrm_AskInfo.GetClassNo: String;
var
Str,RStr : String;
begin
//if Edt_FileType.Text := '业务咨询信息'then
Str := '';
RStr := '';
if Length(NodeOneLevel) = 1 then
Str := '0' + NodeOneLevel
else
Str := NodeOneLevel;
RStr := RStr + Str;
if Length(NodeTwoLevel) = 1 then
Str := '0' + NodeTwoLevel
else
Str := NodeTwoLevel;
RStr := RStr + Str;
if Length(NodeThreeLevel) = 1 then
Str := '0' + NodeThreeLevel
else
Str := NodeThreeLevel;
RStr := RStr + Str;
Result := RStr;
end;
procedure TFrm_AskInfo.InsertData;
var
Str: String;
begin
with TQuery.Create(nil) do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Str := StringReplace(REdt_FileContent.Lines.Text,'''','‘',[rfReplaceAll]);
Sql.Text := Format('INSERT INTO KNOWLEDGE_BURSARY ('+
'CLASSNO,CLASSNAME,ONELEVELNO,TWOLEVELNO,THREELEVELNO'+
',INFOCONTENT,INFOTYPESTR,KeyWord,INFOSUBTYPESTR) VALUES(''%S'',''%S'',%S,'+
'%S,%S,''%S'',''%S'',''%S'',''%S'')',
[GetClassNo,Edt_InfoName.Text,NodeOneLevel,NodeTwoLevel,NodeThreeLevel,
Str,Edt_FileType.Text,Edt_KeyWord.Text,Cb_SubFileType.Text]);
//showmessage(GetClassNo);
//Sql.SaveToFile('C:\inset.txt');
// StringReplace()
ExecSql;
Application.MessageBox('数据保存成功','信息提示',MB_OK+MB_ICONINFORMATION);
finally
Free;
end;
end;
function TFrm_AskInfo.DelRecord: Boolean;
var
KeyStr : String;
begin
KeyStr := '';
if TreeView1.Selected <> nil then
begin
KeyStr := PNewCounselLevelThree(TreeView1.Selected.Data)^.OeID;
with TQuery.Create(nil) do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := Format('DELETE FROM KNOWLEDGE_BURSARY WHERE CLASSNO = ''%S''',[KeyStr]);
try
ExecSql;
if RowsAffected > 0 then
Application.MessageBox('删除记录成功!','信息提示',MB_OK+MB_ICONINFORMATION)
else
Application.MessageBox('没有您要删除的记录!','信息提示',MB_OK+MB_ICONINFORMATION);
Result := True;
except
Application.MessageBox('数据库删除失败,请检测网络是否连通','信息提示',MB_OK+MB_ICONINFORMATION);
Result := False;
end;
finally
Free;
end;
end
else
begin
Application.MessageBox('请选择要删除的纪录!','信息提示',MB_OK+MB_ICONINFORMATION);
Result := False;
end;
end;
function TFrm_AskInfo.UpdateRec: Boolean;
var
KeyStr : String;
begin
if TreeView1.Selected <> nil then
begin
KeyStr := PNewCounselLevelThree(TreeView1.Selected.Data)^.OeID;
SysDM.DBMain.StartTransaction;
with TQuery.Create(nil) do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := Format('UPDATE KNOWLEDGE_BURSARY SET CLASSNAME = ''%S'',INFOCONTENT = '+
'''%S'',INFOFILE = ''%S'',INFOTYPE = %S,LOGIC_DEV_ID = ''%S'',KEYWORD = ''%S'' '+
'WHERE CLASSNO = ''%S'''
,[Edt_InfoName.Text,StringReplace(REdt_FileContent.Lines.Text,'''','‘',[rfReplaceAll]),Edt_FileName.Text,IntToStr(Cb_FileType.ItemIndex),GetLogicID,Edt_KeyWord.Text,KeyStr]);
try
ExecSql;
SysDM.DBMain.Commit;
if RowsAffected > 0 then
Application.MessageBox('数据库更新成功!','信息提示',MB_OK+MB_ICONINFORMATION)
else
Application.MessageBox('没有您要更新的记录,请选择你要更新的记录!','信息提示',MB_OK+MB_ICONINFORMATION);
Result := True;
except
Application.MessageBox('数据库更新失败,请检测网络!','信息提示',MB_OK+MB_ICONINFORMATION);
SysDM.DBMain.Rollback;
Result := False;
end;
finally
Free;
end;
end
else
begin
Application.MessageBox('请选择要更新的记录!','信息提示',MB_OK+MB_ICONINFORMATION);
Result := False;
end;
end;
function TFrm_AskInfo.LoadLogicInfo: Boolean;
var
I : Integer;
begin
with TQuery.Create(nil)do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := 'SELECT DISTINCT HOST_NAME FROM LOGIC_DEVICE_LIST';
Open;
for I := 0 to RecordCount - 1 do
begin
Cb_HostName.Items.Add(FieldByName('HOST_NAME').AsString);
Next;
end;
Cb_HostName.ItemIndex := 0;
Close;
Sql.Text := Format('SELECT PHYSICAL_PATH FROM LOGIC_DEVICE_LIST WHERE '+
'HOST_NAME = ''%S''',[Cb_HostName.Text]);
Open;
for I := 0 to RecordCount - 1 do
begin
Cb_FilePath.Items.Add(FieldByName('PHYSICAL_PATH').AsString);
Next;
end;
Cb_FilePath.ItemIndex := 0;
finally
Free;
end;
Result := True;
end;
procedure TFrm_AskInfo.Cb_FilePathEnter(Sender: TObject);
var
I : Integer;
begin
with TQuery.Create(nil)do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := Format('SELECT PHYSICAL_PATH FROM LOGIC_DEVICE_LIST WHERE '+
'HOST_NAME = ''%S''',[Cb_HostName.Text]);
Open;
Cb_FilePath.Items.Clear;
for I := 0 to RecordCount - 1 do
begin
Cb_FilePath.Items.Add(FieldByName('PHYSICAL_PATH').AsString);
Next;
end;
finally
Free;
end;
end;
function TFrm_AskInfo.GetLogicID: String;
begin
with TQuery.Create(nil)do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := Format('SELECT LOGIC_DEV_ID FROM LOGIC_DEVICE_LIST WHERE '+
'HOST_NAME = ''%S'' AND PHYSICAL_PATH = ''%S''',
[Cb_HostName.Text,Cb_FilePath.Text]);
Open;
Result := FieldByName('Logic_Dev_ID').AsString;
finally
Free;
end;
end;
procedure TFrm_AskInfo.SetNull;
begin
Edt_KeyWord.Text := '';
//FillMainType;
//Edt_FileType.ItemIndex := 0;
Cb_SubFileType.Text := '';
Edt_InfoName.Text := '';
Cb_FileType.Text := '';
Cb_HostName.Text := '';
Edt_FileName.Text := '';
Cb_FilePath.Text := '';
REdt_FileContent.Lines.Text := '';
end;
procedure TFrm_AskInfo.Cb_HostNameChange(Sender: TObject);
var
I : Integer;
begin
with TQuery.Create(nil)do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := Format('SELECT PHYSICAL_PATH FROM LOGIC_DEVICE_LIST WHERE '+
'HOST_NAME = ''%S''',[Cb_HostName.Text]);
Open;
Cb_FilePath.Items.Clear;
for I := 0 to RecordCount - 1 do
begin
Cb_FilePath.Items.Add(FieldByName('PHYSICAL_PATH').AsString);
Next;
end;
finally
Free;
end;
Cb_FilePath.ItemIndex := 0;
end;
function TFrm_AskInfo.DisplayRec: Boolean;
var
KeyStr,PathStr : String;
begin
if (TreeView1.Selected = nil) or (TreeView1.Selected.Level = 0) then
begin
Result := False;
Exit;
end;
KeyStr := PNewCounselLevelThree(TreeView1.Selected.Data)^.OeID;
with TQuery.Create(nil)do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := Format('SELECT * FROM KNOWLEDGE_BURSARY WHERE CLASSNO = ''%S''',
[KeyStr]);
Open;
Edt_InfoName.Text := FieldByName('CLASSNAME').AsString;
Edt_FileName.Text := FieldByName('InfoFile').AsString;
REdt_FileContent.Lines.Text := FieldByName('INFOCONTENT').AsString;
ShowFileType(KeyStr);
Edt_KeyWord.Text := FieldByName('KeyWord').AsString;
//Cb_FileType.text := FieldByName('InfoTypeStr').Asstring;
// GetLogicDev(FieldByName('LOGIC_DEV_ID').AsString);
// PathStr := GetFilePath(FieldByName('LOGIC_DEV_ID').AsString);
// if FieldByName('InfoFile').AsString <> '' then
// begin
// PathStr := PathStr + '\' + FieldByName('InfoFile').AsString;
// ShowFile(FieldByName('InfoType').AsInteger,PathStr);
// end;
Result := True;
finally
Free;
end;
end;
procedure TFrm_AskInfo.GetLogicDev(Str: String);
var
I: Integer;
begin
with TQuery.Create(nil) do
try
Close;
DataBaseName := SysDM.DBMain.DatabaseName;
Sql.Text := Format('SELECT HOST_NAME,PHYSICAL_PATH FROM LOGIC_DEVICE_LIST WHERE LOGIC_DEV_ID = ''%S''',[Str]);
Open;
for I := 0 to Cb_FilePath.Items.Count - 1 do
begin
if Cb_FilePath.Items.Strings[I] = FieldByName('PHYSICAL_PATH').AsString then
begin
Cb_FilePath.ItemIndex := I;
Break;
end;
end;
for I := 0 to Cb_HostName.Items.Count - 1 do
begin
if Cb_HostName.Items.Strings[I] = FieldByName('Host_Name').AsString then
begin
Cb_HostName.ItemIndex := I;
Break;
end;
end;
finally
Free;
end;
end;
procedure TFrm_AskInfo.TreeView1DblClick(Sender: TObject);
begin
DisplayRec;
SetReadOnly(True);
end;
procedure TFrm_AskInfo.SetReadOnly(Value: Boolean);
begin
Edt_KeyWord.ReadOnly := Value;
Edt_InfoName.ReadOnly := Value;
Edt_FileName.ReadOnly := Value;
REdt_FileContent.ReadOnly := Value;
Cb_FileType.Enabled := Not Value;
Cb_HostName.Enabled := Not Value;
Cb_FilePath.Enabled := Not Value;
Edt_FileType.Enabled := Not Value;
Cb_SubFileType.Enabled := Not Value;
end;
procedure TFrm_AskInfo.Act_deleteExecute(Sender: TObject);
begin
if not TreeView1.Selected.HasChildren then
begin
if Application.MessageBox('真的要删除记录吗?','信息提示',MB_YESNO) = IDYES then
begin
DelRecord;
TreeView1.Items.Delete(TreeView1.Selected);
end
else
Exit;
end
else
Application.MessageBox('该节点不允许删除,请先将其下层节点删除','提示',MB_OK+MB_ICONINFORMATION);
end;
procedure TFrm_AskInfo.Spd_cancelClick(Sender: TObject);
begin
Spd_save.Enabled := False;
if OpType = 0 then
SetNull;
if OpType = 1 then
DisplayRec;
end;
procedure TFrm_AskInfo.Act_editExecute(Sender: TObject);
begin
if (TreeView1.Selected <> nil) and (TreeView1.Selected.Level <> 0) then
begin
SetReadOnly(False);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -