检索字段值:function TPublicClass.DataComboBox(TableValue, FieldValue: String): TStrings; var RS : TStrings; begin RS := TStringList.Create; Result := RS; RS.Clear; Try with DataModuleFrm.LSB_ADOQuery do begin if Active then Active := False; SQL.Clear; SQL.Add('Select Distinct ' + FieldValue + ' from ' + TableValue); Open; if RecordCount = 0 then Exit; First; end; while Not DataModuleFrm.LSB_ADOQuery.Eof do begin RS.Add(Trim(DataModuleFrm.LSB_ADOQuery.FieldByName(FieldValue).AsString)); DataModuleFrm.LSB_ADOQuery.Next; end; Except Application.MessageBox('对不起,数据操作错误','操作提示',MB_OK + MB_ICONINFORMATION); Exit; end; Result := RS; end;{ procedure TPublicClass.ExecSQL(Sender: TADOQuery; TableName, SQLStr: String); begin with Sender do begin if Active then Active := False; SQL.Clear; SQL.Add(SQLStr); ExecSQL; Close; SQL.Clear; SQL.Add('Select * From ' + TableName); Prepared; Open; end; end;插入function TPublicClass.InsertValue(var StrValue : String;TableNameValue: String; FieldList,FieldValue: array of String): Boolean; var AIndex : Integer; AStr : String; begin //.. Result := True; if ( High(FieldList) - Low(FieldList)) <> (High(FieldValue) - Low(FieldValue)) then begin StrValue := ''; Result := False; Exit; end; StrValue := 'Insert Into ' + TableNameValue + '('; AStr := ' Values('; For AIndex := Low(FieldList) to High(FieldList) do begin if AIndex <> High(FieldList) then begin StrValue := StrValue + FieldList[AIndex] + ' , '; AStr := AStr + #39 + FieldValue[AIndex] + #39 + ' , '; end else begin StrValue := StrValue + FieldList[AIndex] + ') '; AStr := AStr + #39 + FieldValue[AIndex] + #39 + ')'; end; end; StrValue := StrValue + AStr; end; 更新procedure TPublicClass.Update(var SQLStr: String; Sender: TEdit; TableName, FieldValue, Hint: String; QueryValue: TADOQuery; IDValue: Integer); begin if Trim(Sender.Text) = '' then begin Application.MessageBox(PChar('对不起,请填写' + Hint + '之后再进行添加操作') ,'操作提示',MB_OK + MB_ICONSTOP); Exit; end else begin if Not UpdateValue(SQLStr,TableName,IDValue,[FieldValue],[Sender.Text]) then begin Application.MessageBox('对不起,没有成的执行操作','操作提示',MB_OK + MB_ICONINFORMATION); Exit; end; ExecSQL(QueryValue,TableName,SQLStr); end; end; }删除procedure TPublicClass.Delete(var SQLStr: String; TableName, FieldValue : String; QueryValue: TADOQuery; IDValue: Integer); begin begin SQLStr := DeleteValue(TableName,IDValue); ExecSQL(QueryValue,TableName,SQLStr); end; end;---------------- 沉沦中..........
FieldValue: String): TStrings;
var
RS : TStrings;
begin
RS := TStringList.Create;
Result := RS;
RS.Clear;
Try
with DataModuleFrm.LSB_ADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select Distinct ' + FieldValue + ' from ' + TableValue);
Open;
if RecordCount = 0 then
Exit;
First;
end;
while Not DataModuleFrm.LSB_ADOQuery.Eof do
begin
RS.Add(Trim(DataModuleFrm.LSB_ADOQuery.FieldByName(FieldValue).AsString));
DataModuleFrm.LSB_ADOQuery.Next;
end;
Except
Application.MessageBox('对不起,数据操作错误','操作提示',MB_OK +
MB_ICONINFORMATION);
Exit;
end;
Result := RS;
end;{
procedure TPublicClass.ExecSQL(Sender: TADOQuery; TableName,
SQLStr: String);
begin
with Sender do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add(SQLStr);
ExecSQL;
Close;
SQL.Clear;
SQL.Add('Select * From ' + TableName);
Prepared;
Open;
end;
end;插入function TPublicClass.InsertValue(var StrValue : String;TableNameValue: String;
FieldList,FieldValue: array of String): Boolean;
var
AIndex : Integer;
AStr : String;
begin
//..
Result := True;
if ( High(FieldList) - Low(FieldList)) <> (High(FieldValue) - Low(FieldValue)) then
begin
StrValue := '';
Result := False;
Exit;
end;
StrValue := 'Insert Into ' + TableNameValue + '(';
AStr := ' Values(';
For AIndex := Low(FieldList) to High(FieldList) do
begin
if AIndex <> High(FieldList) then
begin
StrValue := StrValue + FieldList[AIndex] + ' , ';
AStr := AStr + #39 + FieldValue[AIndex] + #39 + ' , ';
end else
begin
StrValue := StrValue + FieldList[AIndex] + ') ';
AStr := AStr + #39 + FieldValue[AIndex] + #39 + ')';
end;
end;
StrValue := StrValue + AStr;
end;
更新procedure TPublicClass.Update(var SQLStr: String; Sender: TEdit; TableName,
FieldValue, Hint: String; QueryValue: TADOQuery; IDValue: Integer);
begin
if Trim(Sender.Text) = '' then
begin
Application.MessageBox(PChar('对不起,请填写' + Hint + '之后再进行添加操作')
,'操作提示',MB_OK + MB_ICONSTOP);
Exit;
end else
begin
if Not UpdateValue(SQLStr,TableName,IDValue,[FieldValue],[Sender.Text]) then
begin
Application.MessageBox('对不起,没有成的执行操作','操作提示',MB_OK +
MB_ICONINFORMATION);
Exit;
end;
ExecSQL(QueryValue,TableName,SQLStr);
end;
end;
}删除procedure TPublicClass.Delete(var SQLStr: String; TableName, FieldValue : String;
QueryValue: TADOQuery; IDValue: Integer);
begin
begin
SQLStr := DeleteValue(TableName,IDValue);
ExecSQL(QueryValue,TableName,SQLStr);
end;
end;----------------
沉沦中..........