AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Delphi 2005 -> MS Access
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 2005 -> MS Access

Ein Thema von tyron78 · begonnen am 11. Aug 2005 · letzter Beitrag vom 23. Sep 2005
Antwort Antwort
vlad

Registriert seit: 23. Okt 2003
1 Beiträge
 
#1

Re: Delphi 2005 -> MS Access

  Alt 11. Aug 2005, 23:44
//Mal ne Unit um auf ne Access Db zugreifen zu können, nichtganz fein funktioniert aber
//hoffe es hilft
Delphi-Quellcode:
unit uCDb;

interface
uses
  System.Collections,
  System.Data,
  System.Data.OleDB,
  System.Web.Mail,
  System.IO;
type
  CDb = class

  private
     conn :OleDBConnection;
     connstr:String;
  public
    function Datenabfrage(abfrage:string;Tabelle:string):DataSet;
    function Wertrueckgabe(ds:DataSet;Tabelle:string;Spalte:string;i:integer):string;
    function UpdateDelete(Anfrage:String):string;
    function GetConnStr():string;
    procedure SetConnStr(conn:String);
    function Einzelwertrueckgabe(Anfrage,Tabelle,Spalte:String;i:integer):string;
    function Login(login,passwd,Tabelle,Spalte:string;ds:DataSet;Nr:integer):string;
    procedure EMAIL(From,Zu,Subject,Nachricht:String);overload;
    procedure EMAIL(From,Zu,Subject,Nachricht,Anhang:String);overload;
    procedure EMAIL(From,Zu,bcc,Subject,Nachricht,Anhang:String);overload;
    constructor Create();overload;
    constructor Create(Conn:String);overload;
  end;

implementation

constructor CDb.Create;
begin
  inherited Create;
  connstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
             'Data Source= db\db1.mdb'
end;

constructor CDb.Create(Conn:String);
begin
  Self.Create;
  connstr:=conn;
end;

procedure CDB.SetConnStr(conn:String);
begin
  connstr:=conn;
end;

function CDb.GetConnStr():String;
begin
  result:=connstr;
end;

function CDb.Wertrueckgabe(ds:DataSet;Tabelle:string;Spalte:string;i:integer):string;
var dt:DataTable;
    en:IEnumerator;
    rw:DataRow;
begin
  dt:=ds.Tables[Tabelle];
  en:=dt.Rows.GetEnumerator;
  rw:=dt.Rows[i];
  result:=rw[Spalte].ToString;
end;

function CDb.UpdateDelete(Anfrage:String):string;
var cmd:OleDBCommand;
    rueckgabe:string;
begin
  conn :=OleDBConnection.Create(connstr);
  cmd:=OleDBCommand.Create();
  cmd.Connection:=conn;
  cmd.CommandText:=anfrage;
  try
    conn.Open;
    rueckgabe:=cmd.ExecuteNonQuery.ToString;
  except on ex:Exception do
    begin
      rueckgabe:=ex.Message+' '+Anfrage;
    end;
  end;
  conn.Close;
  result:=rueckgabe;
end;

function CDb.Datenabfrage(abfrage:string;Tabelle:string):DataSet;
var cmdSel:OleDbCommand;
    da:OleDBDataAdapter;
    ds:DataSet;
begin
  conn :=OleDBConnection.Create(connstr);
  cmdSel:=OleDbCommand.Create(abfrage,conn);
  da :=OleDbDataAdapter.Create(cmdSel);
  ds :=DataSet.Create();
  try
    conn.Open;
    da.Fill(ds,Tabelle);
    conn.Close;
  except
    on ex:Exception do
  end;
  result:=ds;
  end;

procedure CDB.EMAIL(From,Zu,Subject,Nachricht:String);
var m:mailmessage;
begin
  m:=MailMessage.Create;
  m.From:=From;
  m.&To:=Zu;
  m.Subject:=Subject;
  m.Body:=Nachricht;
  SmtpMail.Send(m);
end;

procedure CDB.EMAIL(From,Zu,Subject,Nachricht,Anhang:String);
var m:mailmessage;
begin
  m:=MailMessage.Create;
  m.From:=From;
  m.&To:=Zu;
  m.Subject:=Subject;
  m.Body:=Nachricht;
  m.Attachments.Add(MailAttachment.Create(Anhang));
  SmtpMail.Send(m);
end;

procedure CDB.EMAIL(From,Zu,bcc,Subject,Nachricht,Anhang:String);
var m:mailmessage;
begin
  m:=MailMessage.Create;
  m.From:=From;
  m.&To:=Zu;
  m.&Bcc:=bcc;
  m.Subject:=Subject;
  m.Body:=Nachricht;
  m.Attachments.Add(MailAttachment.Create(Anhang));
  SmtpMail.Send(m);
end;

function CDB.Einzelwertrueckgabe(Anfrage,Tabelle,Spalte:String;i:integer):string;
var ds:DataSet;
begin
  ds:=Datenabfrage(Anfrage,Tabelle);
  result:=Wertrueckgabe(ds,Tabelle,Spalte,i);
end;

function CDB.Login(login,passwd,Tabelle,Spalte:string;ds:DataSet;Nr:integer):string;
begin
if (login<>'') and (passwd<>'') then
  begin
    try
    if (passwd=Wertrueckgabe(ds,Tabelle,Spalte,Nr)) then
      begin
         result:='True';
      end
    except on ex:Exception do
      begin
        result:=ex.ToString;
      end;
    end;
  end;
end;

end.
[edit=Luckie]Boah, 2003 angemeldet und dannkeine Delphi-Tags. So was sehe ich doch spätestens dann, wenn ich das Posting abgeschickt habe. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz