Schrift
[thread]3483[/thread]

Access-DB Abfrage mit CGI: Auswertung Access-DB



<< >> 6 Einträge, 1 Seite
axel19071
 2004-07-15 18:03
#32402 #32402
User since
2004-07-14
2 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo miteinander,
Als absoluter Frischling in Sachen Perl habe ich mich schon einige Stunden durch die Community gelesen und im Netz recherchiert. Leider nicht mit dem entsprechenden Erfolg. Ich möchte gern folgendes Problem lösen:
Ich habe eine Access-DB mit zwei Tables, die über den Schlüsselwert Kundennummer in Verbindung stehen. Mithilfe eines HTML-Formulars soll die DB durch ein CGI-Skript durchsucht werden. Bei einem Treffer sollen die Daten der DB in Tabellenform angezeigt werden. Zusätzlich soll eine Textdatei als Rechnung generiert werden, auf der die Adresse, der Name und der Rechnungsbetrag  des jeweiligen Kunden erscheint. kann mir jemand dazu Hilfestellung leisten?
Ich danke schon mal.
renee
 2004-07-15 18:17
#32403 #32403
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! c:\perl\bin\perl

use Win32::ODBC;

$DriverType = "Microsoft Access Driver (*.mdb)";
$DSN = "Win32 ODBC --MAOmaoMAOmaoMAO--";
$Dir = "c:\\meinOrdner";
$DBase = "meineDB.mdb";


Win32::ODBC::ConfigDSN(ODBC_ADD_DSN, $DriverType,("DSN=$DSN", "Description=MAO Win32 ODBC Test DSN for Perl", "DBQ=$Dir\\$DBase", "DEFAULTDIR=$Dir", "UID=", "PWD=")) or die "ConfigDSN(): Could not add temporary DSN" . Win32::ODBC::Error();

$db=new Win32::ODBC($DSN) or die "couldn't ODBC $DSN because ", Win32::ODBC::Error(), "\n";

$query = "select * from table1, table2 where table1.spalte = table2.spalte";
!$db->Sql($query) or die "couldn't do $query because ", $db->Error(), "\n";

while($db->FetchRow())
{
my %Data = $db->DataHash();
foreach my $key(keys(%Data)){
print $key," -> ",$Data{$key};
}
}


Win32::ODBC::ConfigDSN(ODBC_REMOVE_DSN, $DriverType, "DSN=$DSN") or die "ConfigDSN(): Could not remove temporary DSN because ", Win32::ODBC::Error();


Ist jetzt allerdings noch keine HTML-Tabelle...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2004-07-15 18:19
#32404 #32404
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hab noch was besseres gefunden:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use DBI;

#open connection to Access database
$dbh = DBI->connect('dbi:ODBC:driver=microsoft access driver (*.mdb);dbq=C:\Windows\Desktop\meineDB.mdb');

#prepare and execute SQL statement
$sqlstatement="SELECT * FROM table1, table2 WHERE table1.spalte = table2.spalte";
$sth = $dbh->prepare($sqlstatement);
$sth->execute ||
      die "Could not execute SQL statement ... maybe invalid?";

#output database results
while (@row=$sth->fetchrow_array()){
   print "@row\n";
}
\n\n

<!--EDIT|renee|1089901232-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2004-07-15 18:38
#32405 #32405
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Gast Gast
 2004-07-15 19:04
#32406 #32406
Vielen Dank für die irre schnelle Hilfe. Hast Du solche Scripts irgendwo rumliegen, oder wie kriegt man das so schnell hin? Also nochmals vielen Dank.
Axel
axel19071
 2004-07-15 19:09
#32407 #32407
User since
2004-07-14
2 Artikel
BenutzerIn
[Homepage] [default_avatar]
Jetzt habe ich mich vor lauter Freude über die schnelle Hilfe nicht mal eingeloggt. Also Renee, vielen Dank.
Axel
<< >> 6 Einträge, 1 Seite



View all threads created 2004-07-15 18:03.