Einzelnen Beitrag anzeigen

Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Verbindung zur DB bei Programmstart

  Alt 21. Mär 2006, 17:35
Hier mal der Code:

Delphi-Quellcode:
procedure Tfrmconnect.FormShow(Sender: TObject);
var config: tinifile;
    i:integer;
begin
  config:= tinifile.Create(extractfilepath(paramstr (0))+'config.ini');
  try
    try
      //Auslesen der Verbindungsdaten aus config.ini
      with frmdata.SQLConnect do
      begin
        HostName:= config.ReadString('DB-Server','host','');
        user:= frmmain.cipher.EncodeString('xxxxx,config.ReadString('DB-Server','user',''));
password:= frmmain.cipher.EncodeString(
'xxxxx',config.ReadString('DB-Server','passwort',''));
port:= strtoint(config.ReadString(
'DB-Server','port','0'));
//Verbinden zur DB
connect;
end;

//Öffnen der Tabellen und queries
with frmdata do
begin
tbauftrag.Open;
tbstatus.Open;
tbgeraete.Open;
tbartikel.Open;
tbstatistik.Open;
tblager.Open;
tbmessage.Open;
qutechniker.Open;

//Nachrichtenempfänger in Message ComboBox eintragen
frmsendmessage.cmbempfaenger.Items.Clear;
for i:= 1 to qutechniker.recordcount do
begin
frmsendmessage.cmbempfaenger.Items.Append(qutechniker.fieldbyname(
'kurz').asstring);
qutechniker.Next;
end;
frmsendmessage.cmbempfaenger.ItemIndex:=0;

//Erstellen der Abfrage zum Füllen des DBGrids
with quauftrag do
begin
SQL.Clear;
sql.Add(
'SELECT * FROM auftrag LEFT OUTER JOIN geraete ON auftrag.geraet = geraete.geraeteid WHERE auftrag.techniker ="'+config.ReadString('Grundeinstellungen','Technikernummer','0')+'";');
open;
//Suchen des zuletzt geöffneten Auftrages im Query
if locate(
'nummer',config.ReadString('Start','LastOpen',''),[locaseinsensitive])= true then
//Pointer setzen
tbauftrag.Locate(
'auftragid',quauftrag.fieldbyname('auftragid').AsInteger,[locaseinsensitive])
else
begin
last;
tbauftrag.Locate(
'auftragid',quauftrag.fieldbyname('auftragid').AsInteger,[locaseinsensitive]);
end;
end;

with qucountauftrag do
begin
sql.Clear;
sql.Add(
'SELECT COUNT(auftragid) FROM auftrag WHERE techniker ="'+config.ReadString('Grundeinstellungen','Technikernummer','0')+'";');
open;
frmmain.sbmain.Panels[0].Text:=inttostr(qucountauftrag.fieldbyname(
'count(auftragid)').AsInteger)+ ' Datensätze';
end;
end;
frmmain.Show;

except
showmessage(
'Fehler beim Verbinden mit der Datenbank');
edhost.SetFocus;
end;

try
edhost.Text:=config.readstring(
'DB-Server','Host','');
eduser.Text:=config.readstring(
'DB-Server','User','');
edpasswort.Text:=frmmain.cipher.EncodeString(
'xxxxxx',config.ReadString('DB-Server','passwort',''));
edport.Text:=config.readstring(
'DB-Server','Port','');
except
edhost.SetFocus;
end;


finally
config.Free;
end;
end;
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat