📄 dataset.pas
字号:
unit DataSet;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ADODB_TLB;
type
TDataSet=class
private
FConnString: String;
FConnection:TConnection;
procedure SetConnectionStr(const Value: String);
public
Property strConnection:String read FConnString write SetConnectionStr;
Function OpenDb(strConnection:String = ''):String;
Function CloseDb():String;
Function ExecSQL(lSQL:String):String;
Function GetData(SelectSQL:String;var ErrText:String):TRecordSet;overload;
Function GetData(SelectSQL:String):TRecordSet;overload;
end;
implementation
procedure TDataSet.SetConnectionStr(const Value: String);
begin
If Trim(Value) <> '' Then
FConnString := Value;
end;
function TDataSet.OpenDb(strConnection: String): String;
begin
Result:='';
FConnString:=strConnection;
If FConnString='' then
FConnString := 'Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=MarketDFMS3.0;Data Source=SKYDOT';
if not Assigned(FConnection) then
FConnection := TConnection.Create(Application);
try
If FConnection.State <> adStateOpen then
FConnection.Open(FConnString,'','',0);
except
on e:Exception do result:=e.Message;
end;
end;
function TDataSet.CloseDb(): String;
begin
Result:='';
If FConnection.State = adStateOpen Then
begin
Try
FConnection.Close;
except
on e:Exception do Result:=e.Message;
end;
FConnection := nil;
end;
end;
function TDataSet.ExecSQL(lSQL: String): String;
var
lolevar:OleVariant;
begin
result:='';
try
FConnection.Execute(lSQL,lolevar,0);
except
on e:Exception do Result :=e.Message;
end;
end;
function TDataSet.GetData(SelectSQL: String; var ErrText: String): TRecordSet;
var
lRecordSet:TRecordSet;
begin
Result := nil ;
ErrText:='';
if pos('SELECT',UpperCase(SelectSQL))=0 then
begin
ErrText := '查询语句中缺少[SELECT]关键字';
exit;
end;
lRecordSet := TRecordSet.Create(Application);
try
lRecordSet.Open(SelectSQL, FConnString, adOpenDynamic,adLockOptimistic, adCmdUnspecified);
except
on e:Exception do ErrText := e.Message;
end;
Result := lRecordSet;
end;
function TDataSet.GetData(SelectSQL: String): TRecordSet;
var
lErrText:String;
begin
Result:= GetData(SelectSQL,lErrText);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -