MSQL Tabelle erstellen

tsaG

Grünschnabel
Hi,

Ich möchte gerne bei mir in einer vb.net Datei eine Tabelle aus Informationen erstellen die zuvor von einer MSQL Quelle abgerufen werden.

Das ganze sieht wie folgt aus (Live Demo (einer längeren Liste) )

Code:
$conexion = mysql_connect($host, $username, $password, true) or die("bla");

mysql_select_db($chardb);

$top10names= mysql_query("SELECT name FROM characters ORDER BY killsLifeTime DESC");

$name1 = mysql_result($top10names,0);
$name2 = mysql_result($top10names,1);
$name3 = mysql_result($top10names,2);

mysql_select_db($chardb);

$top10hk= mysql_query("SELECT killsLifeTime FROM characters ORDER BY killsLifeTime DESC");

$hk1 = mysql_result($top10hk,0);
$hk2 = mysql_result($top10hk,1);
$hk3 = mysql_result($top10hk,2);


echo "
$name1 $hk1<br><br>
$name2 $hk2<br><br>
$name3 $hk3<br><br>
$name4 $hk4<br><br>";

mysql_close($conexion);

So habe ich es halt in Php gemacht, jetzt halt meine frage wie man sowas in eine Tabelle in VB macht

Das ganze sollte dann nachher halt so aussehen (bzw so ähnlich, halt mit 2 sparten):

EDIT: Vielleicht sollte ich noch erwähnen das die Datenbank auf einem anderen Server liegt.
 
Zuletzt bearbeitet:
Ich gehe davon aus, dass du eine Webanwendung erstellen willst?

Verwende das DataGrid Steuerelement! Da kannst du direkt Daten aus einer Tabelle ranbinden, indem du das DataSource (ich glaub, unter ASP heißts so oder? Unter Windows.Forms heißts BindingSource) Steuerelement verwendest. Dafür brauchst du selbst nicht mal eine einzige Zeile Code schreiben (ausser, du bist mit dem Standard nicht zufrieden oder brauchst erweiterte Funktionalität), das geht alles mit dem Designer.

lg
 
Naja, eigentlich keine Webandwendung.

Das Programm soll über eine externe Datenbank (über das Internet) etwas abrufen und dies dann in einer Tabelle Anzeigen (wie auf dem Bild). Das ganze ist eigentlich für ein Spiel, damit sollen die Statistiken angezeigt werden.

Im moment habe ich es halt unsauber in einer PHP Datei gemacht, diese wird dann von einem Browserfenster angezeigt. Das zerstört a) das design des Programms und b) ist es unsauber c) brauche ich dafür wieder externe Ressourcen (halt die Webseite).

-tsaG
 
Dann nimmst statt dem DataGrid das DataGridView, das ist das Windows.Forms Pendat dazu :D
 
Okay... Habe gerade mal ausprobiert. kann es sein das VB.net keine externen Datenbanken unterstützt? o0. In der Hilfe steht zwar man soll auf Ansicht Server-Explorer gehen um eine Externe Quelle hinzu zu fügen (Wenn man es über Datenquelle macht ist es nur eine interne Quelle). aber ich finde da nur Datenbank-Explorer (das gleiche halt wie die Datenquelle) und Projektmappen-Explorer....

Sorry, aber wo find ich den? o0

Edit:

klick

Also über Datenquelle hinzufügen geht es halt nicht. Das geht anscheinend nur mit lokalen Dbs
 
Für deinen konkreten Fall, also eine Highscoreliste, würde ich dir zwei Alternativen empfehlen, die jedoch beide auf eine externe Ressource zugreifen:

1) Einen Webservice, dieser stellt die benötigten Informationen für die Highscoreliste bereit.

2) Einfach eine XML-Datei auf dem Server. Diese Datei wird regelmäßig neu erstellt. Falls du kein ASP.NET Hosting hast bietet sich diese Variante ja an. Einfach mit PHP die Datei erstellen. Ob man mit PHP einen Webservice implementieren kann, weiß ich nicht.

Auf eine Datenbank direkt zuzugreifen, ist nicht ratsam und aus Sicherheitstechnischen Gründen auch nicht besonders schlau. Jeder könnte prinzipiell alles mit der Datenbank anstellen.
 
Der Account, welcher auf die Datenbank zugreift hat nur Leserechte, von daher wäre es garnicht so kritisch....

Ich hab ja schon die oben genannte PHP Datei, kann sie aber nochmal komplett posten. Kann man aus der PHP Datei irgendwie infos dafür heraus filtern?

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
<style type="text/css">
<!--
body,td,th {
	color: #000000;
}
body {
	background-color: #FFCC99;
}
-->
</style></head>

<body>
<?php
include("config.php");


$conexion = mysql_connect($host, $username, $password, true) or die("Einloggen fehlgeschlagen!");

mysql_select_db($chardb);
$top10names= mysql_query("SELECT name FROM characters ORDER BY killsLifeTime DESC");


$name1 = mysql_result($top10names,0);
$name2 = mysql_result($top10names,1);
$name3 = mysql_result($top10names,2);
$name4 = mysql_result($top10names,3);
$name5 = mysql_result($top10names,4);
$name6 = mysql_result($top10names,5);
$name7 = mysql_result($top10names,6);
$name8 = mysql_result($top10names,7);
$name9 = mysql_result($top10names,8);
$name10 = mysql_result($top10names,10);
$name11 = mysql_result($top10names,11);
$name12 = mysql_result($top10names,12);
$name13 = mysql_result($top10names,13);
$name14 = mysql_result($top10names,14);
$name15 = mysql_result($top10names,15);
$name16 = mysql_result($top10names,16);
$name17 = mysql_result($top10names,17);
$name18 = mysql_result($top10names,18);
$name19 = mysql_result($top10names,19);
$name20 = mysql_result($top10names,20);


mysql_select_db($chardb);

$top10hk= mysql_query("SELECT killsLifeTime FROM characters ORDER BY killsLifeTime DESC");

$hk1 = mysql_result($top10hk,0);
$hk2 = mysql_result($top10hk,1);
$hk3 = mysql_result($top10hk,2);
$hk4 = mysql_result($top10hk,3);
$hk5 = mysql_result($top10hk,4);
$hk6 = mysql_result($top10hk,5);
$hk7 = mysql_result($top10hk,6);
$hk8 = mysql_result($top10hk,7);
$hk9 = mysql_result($top10hk,8);
$hk10 = mysql_result($top10hk,9);
$hk11 = mysql_result($top10hk,10);
$hk12 = mysql_result($top10hk,11);
$hk13 = mysql_result($top10hk,12);
$hk14 = mysql_result($top10hk,13);
$hk15 = mysql_result($top10hk,14);
$hk16 = mysql_result($top10hk,15);
$hk17 = mysql_result($top10hk,16);
$hk18 = mysql_result($top10hk,17);
$hk19 = mysql_result($top10hk,18);
$hk20 = mysql_result($top10hk,19);


echo "
1. Platz<strong> $name1</strong> Kills: $hk1<br>
2. Platz<strong> $name2</strong> Kills:$hk2<br>
3. Platz<strong> $name3</strong> Kills:$hk3<br>
4. Platz<strong> $name4</strong> Kills:$hk4<br>
5. Platz<strong> $name5</strong> Kills:$hk5<br>
6. Platz<strong> $name6</strong> Kills:$hk6<br>
7. Platz<strong> $name7</strong> Kills:$hk7<br>
8. Platz<strong> $name8</strong> Kills:$hk8<br>
9. Platz<strong> $name9</strong> Kills:$hk9<br>
10. Platz<strong> $name10</strong> Kills:$hk10<br>
11. Platz<strong> $name11</strong> Kills:$hk11<br>
12. Platz<strong> $name12</strong> Kills:$hk12<br>
13. Platz<strong> $name13</strong> Kills:$hk13<br>
14. Platz<strong> $name14</strong> Kills:$hk14<br>
15. Platz<strong> $name15</strong> Kills:$hk15<br>
16. Platz<strong> $name16</strong> Kills:$hk16<br>
17. Platz<strong> $name17</strong> Kills:$hk17<br>
18. Platz<strong> $name18</strong> Kills:$hk18<br>
19. Platz<strong> $name19</strong> Kills:$hk19<br>
20. Platz<strong> $name20</strong> Kills:$hk20";



mysql_close($conexion);
?></td>


</body>
</html>

Das ist die Datei welche auf einem Server liegt und dann vom Programm angezeigt per Browser angezeigt wird. Das ist nun halt die schmuddelige Lösung. Wollte es halt fest in das Programm integrieren, wie hier zb : klick

-tsaG
 
Zuletzt bearbeitet:
Ich habe schon verstanden was du machen willst :)

Ich sage nur, die Lösung, direkt auf die Datenbankdatei zuzugreifen ist genauso "schmuddelig" wie das gepostete PHP Script. Die Datenbank selbst scheint ja bereits zu existieren und von irgendwoher mit Daten gefüllt zu werden, warum eine weitere verwenden?

Es ist nur ein Tipp: Stell die Informationen als XML-Datei bereit. Diese erzeugst du regelmäßig mit einem Cron-Job o.ä. neu um immer aktuelle Daten im XML zu haben. Das wäre für mein Empfinden nicht nur die sicherste Lösung (es besteht niemals eine direkte Verbindung zw. Datenbank und einem potentiellen Angreifer), sondern auch mit die ressourcenschonenste. Die Datenbankdatei müsste ja bei jedem Zugriff über HTTP auf den lokalen Rechner heruntergeladen werden.
 

Neue Beiträge

Zurück