⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 取数据库内容到字符串
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SPComm, StdCtrls, DB, DBTables, Grids, DBGrids;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Table1: TTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Query1: TQuery;
    procedure Button1Click(Sender: TObject);
    procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  viewstring:string;
  i:integer;
  rbuf,sbuf:array[1..16] of byte;

implementation

{$R *.dfm}

procedure senddata;
var
commflg:boolean;
begin
end;

procedure GetFromHistory(ts1,ts2:string);
var
  ResultStr:string;
begin
  with Form1.Query1 do
  begin
    SQL.Clear;
 	 	SQL.Text:='Select * from 历史库01.db where 日期时间 >= :tdatetime1 and 日期时间 <= :tdatetime2';
    ParamByName('tdatetime1').AsDateTime:=strtodatetime(ts1);
    ParamByName('tdatetime2').AsDateTime:=strtodatetime(ts2);
    Prepare;
    Open;
    FetchAll;
		ResultStr:=FieldByName('日期').AsString+';';
    ResultStr:=ResultStr+FieldByName('时间').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘折算5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘折算5分钟最大值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘折算5分钟最小值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘折算5分钟超标时间').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘实测5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘5分钟排放量').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘累计排放量').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘修正系数A').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘修正系数B').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟尘数据标记').AsString+';';
    ResultStr:=ResultStr+FieldByName('SO2折算5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('SO2折算5分钟最大值').AsString+';';
    ResultStr:=ResultStr+FieldByName('SO2折算5分钟最小值').AsString+';';
    ResultStr:=ResultStr+FieldByName('SO2折算5分钟超标时间').AsString+';';
    ResultStr:=ResultStr+FieldByName('SO2实测5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('SO2的5分钟排放量').AsString+';';
    ResultStr:=ResultStr+FieldByName('SO2累计排放量').AsString+';';
    ResultStr:=ResultStr+FieldByName('SO2数据标记').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气流速5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气流速5分钟最大值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气流速5分钟最小值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气流量5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气5分钟排放量').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气累计排放量').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气流量系数').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气流速数据标记').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气温度5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气温度数据标记').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气压力5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气压力数据标记').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气湿度5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气湿度数据标记').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气含氧量5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('烟气含氧量数据标记').AsString+';';
    ResultStr:=ResultStr+FieldByName('NOX折算5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('NOX折算5分钟最大值').AsString+';';
    ResultStr:=ResultStr+FieldByName('NOX折算5分钟最小值').AsString+';';
    ResultStr:=ResultStr+FieldByName('NOX折算5分钟超标时间').AsString+';';
    ResultStr:=ResultStr+FieldByName('NOX实测5分钟平均值').AsString+';';
    ResultStr:=ResultStr+FieldByName('NOX的5分钟排放量').AsString+';';
    ResultStr:=ResultStr+FieldByName('NOX累计排放量').AsString+';';
    ResultStr:=ResultStr+FieldByName('NOX数据标记').AsString+';';
    ResultStr:=ResultStr+FieldByName('日期时间').AsString;
    Close;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  fb:boolean;
	fstr:string;
  dt:TdateTime;
begin
	{with Table1 do
  begin
  	fb:=locate('日期','2004-1-31',[LoCaseInsensitive,LoPartialKey]);
    if(fb) then

  		fstr:=Fieldbyname('时间').AsString;
  end;}
  GetFromHistory('2003-12-31 11:11:54','2003-12-31 13:24:34');
{  Query1.SQL.Clear;
//  Query1.SQL.Add('Select * from 历史库01.db where SO2折算5分钟平均值=1552.4');
 // Query1.Continent:= '时间'
 	Query1.SQL.Text:='Select * from 历史库01.db where 日期=:tdate and 时间 >= :ttime';
  Query1.ParamByName('tdate').AsDateTime:=strtodate('2004-1-31');
  Query1.ParamByName('ttime').AsTime:=strtotime('12:51:38');
  Query1.Prepare;
  Query1.Open;
  Query1.FetchAll;
	fstr:=Query1.FieldByName('日期').AsString;

  fstr:=Query1.FieldByName('日期时间').text;
  Query1.Close;
  MessageDlg(fstr,mtInformation,[mbok],0); }
  sbuf[1]:=byte($f0);
  sbuf[2]:=byte($01);
  sbuf[3]:=byte($ff);
  sbuf[4]:=byte($ff);
  sbuf[5]:=byte($02);
  sbuf[6]:=byte($f0);
  senddata;
end;

procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
var
  i:integer;
begin
  viewstring:='';

  move(buffer^,pchar((@rbuf)^),BufferLength);
  for i:=1 to bufferlength do
    viewstring:=viewstring+inttohex(rbuf[i],2)+' ';
  viewstring:='接收'+viewstring;
  memo1.Lines.add(viewstring);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -