Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
Delphi 7 Enterprise
|
Re: Verbindung zur DB bei Programmstart
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
|
|
Zitat
|