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

📄 importfromdb.pas

📁 邮件群发源码
💻 PAS
字号:
{邮件群发系统 v1.2
 作者: 于志强
 Email: matthew@apex-point.com
 msn: protoss0@msn.com
 QQ: 15693996 (验证:delphi)
 需要指定SMTP服务器.
 目前还没找到不需要SMTP服务器的方法,望哪位大侠可以告知;
 您可以任意修改此软件,如果您对此软件有修改,希望能给我发一份。
}
unit ImportFromDB;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, RzEdit, RzCmboBx, ExtCtrls, RzPanel, RzButton, Mask,
  DB, ADODB, ComCtrls;

type
  TfrmImportFromDB = class(TForm)
    ADOConnection: TADOConnection;
    Label1: TLabel;
    Edit1: TRzEdit;
    RzBitBtn1: TRzBitBtn;
    RzGroupBox1: TRzGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    ComboBox1: TRzComboBox;
    ComboBox2: TRzComboBox;
    ComboBox3: TRzComboBox;
    Memo1: TRzMemo;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    ads1: TADODataSet;
    procedure RzBitBtn3Click(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmImportFromDB: TfrmImportFromDB;

implementation
uses
  OLEDB, DBLogDlg, AdoConEd, RecError, main;
{$R *.dfm}

procedure TfrmImportFromDB.RzBitBtn3Click(Sender: TObject);
begin
  Close;
end;

procedure TfrmImportFromDB.RzBitBtn1Click(Sender: TObject);
begin
  ADOConnection.Close;
  ADOConnection.ConnectionString := Edit1.Text;
  if EditConnectionString(ADOConnection) then
  begin
    ADOConnection.Connected := True;
    Edit1.Text := ADOConnection.ConnectionString;
    ADOConnection.Connected := True;
    ADOConnection.GetTableNames(ComboBox1.Items);
  end;
end;

procedure TfrmImportFromDB.ComboBox1Change(Sender: TObject);
begin
  ADOConnection.GetFieldNames(ComboBox1.Text, ComboBox2.Items);
  ADOConnection.GetFieldNames(ComboBox1.Text, ComboBox3.Items);
end;

procedure TfrmImportFromDB.RzBitBtn2Click(Sender: TObject);
var
  TBL, FLD_NME, FLD_EML: string;
  BASE_SQL: string;
  SQL: string;
  AnItem: TListItem;
begin
    if (Trim(ComboBox1.Text) <> '') and (Trim(ComboBox3.Text) <> '') then
    begin
      TBL := '[' + ComboBox1.Text + ']';
      FLD_EML := '[' + ComboBox3.Text + ']';
      if Trim(ComboBox2.Text) <> '' then
      begin
        FLD_NME := '[' + ComboBox2.Text + ']';
        BASE_SQL := 'SELECT ' + FLD_NME + ',' + FLD_EML + ' FROM ' + TBL+ ' WHERE 1=1 ';
        SQL := BASE_SQL;
        if Trim(Memo1.Lines.Text) <> '' then
        SQL := SQL + ' AND ' + Memo1.Lines.Text;
        ads1.Active := False;
        ads1.CommandText := SQL;
        ads1.Active := True;
        frmMain.ListView1.Items.Clear;
        while not ads1.Eof do
        begin
          AnItem := frmMain.ListView1.Items.Add;
          AnItem.Caption := ads1.Fields[0].AsString;
          AnItem.SubItems.Add(ads1.Fields[1].AsString);
          ads1.Next;
        end;
        Close;
      end
      else
      begin
        FLD_NME := '';
        BASE_SQL := 'SELECT ' + FLD_EML + ' FROM ' +  TBL+' WHERE 1=1 ';
        SQL := BASE_SQL;
        if Trim(Memo1.Lines.Text) <> '' then
        SQL := SQL + ' AND ' + Memo1.Lines.Text;
        ads1.Active := False;
        ads1.CommandText := SQL;
        ads1.Active := True;
        frmMain.ListView1.Items.Clear;
        while not ads1.Eof do
        begin
          AnItem := frmMain.ListView1.Items.Add;
          AnItem.Caption := '';
          AnItem.SubItems.Add(ads1.Fields[0].AsString);
          ads1.Next;
        end;
        Close;
      end;
      frmMain.SetAddrQty;
    end
    else
    MessageDlg('Must specify table name and Email Field', mtInformation, [MBOK], 0);
end;

end.

⌨️ 快捷键说明

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