Die GUI einer Windows Form Application aus einr MySql Datenbank befüllen


krokev

Mitglied
Bin Programmieranfänger und habe ein Projekt in dem ich eine GUI dynamisch aus der Datenbank befühlen muss.
bzw. die Spaltennamen der Datenbank sollten Feldnamen in meiner GUI sein.
zb. Spaltennamen Vornamen - so sollte die Ausgabe in der Gui Vornamen sein

Kann mir hierbei jemand weiterhelfen?

C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace visitor_management_2011
{
    class DataAccess
    {
        private static string connectionString;
        public static void SetConString(string conString)
        {
            connectionString = "SERVER=;dautsql01" +
                            "DATABASE=Visitis.dbo";
        }

        public static DataTable ExecuteQuery(string sql)
        {
            SqlConnection connection = new SqlConnection(connectionString);
            SqlDataAdapter SQLAdapter = new SqlDataAdapter(sql, connection);
            SqlCommandBuilder commandbuilder = new SqlCommandBuilder(SQLAdapter);
            try
            {
                DataTable ds = new DataTable();
                connection.Open();
                SQLAdapter.Fill(ds);
                connection.Close();
                return ds;
            }
            catch (Exception)
            {
                return null;
            }
            finally
            {
                connection.Close();
            }
        }

        public static int ExecuteNonQuery(string sql)
        {
            SqlConnection connection = new SqlConnection(connectionString);
            connection.ConnectionString = connectionString;
            try
            {
                connection.Open();
                SqlCommand command = new SqlCommand(sql, connection);
                return command.ExecuteNonQuery();
            }
            catch (Exception)
            {
                return -1;
            }
            finally
            {
                connection.Close();
            }

        }

        public static bool HasRecords(DataTable datatable)
        {
            return datatable != null && datatable.Rows.Count > 0 ? true : false;
        }


    }
}
 
Zuletzt bearbeitet von einem Moderator:

krokev

Mitglied
1: bekomme ich die Meldung DataTable konnte im Namespace nicht gefunden werden
2: Habe ich keine Ahnung welchen Code ich verwenden muss um die Spaltennamen der Datenbank als Feldnamen in der Gui auszugeben?
 
V

VScan

Hallo,


1: bekomme ich die Meldung DataTable konnte im Namespace nicht gefunden werden

Lösung: einfügen der using-Direktive am Anfang Deines Codes
C#:
using System.Data;


2: Habe ich keine Ahnung welchen Code ich verwenden muss um die Spaltennamen der Datenbank als Feldnamen in der Gui auszugeben?

Naja, wenn Du es geschafft hast, dass der DataTable gefüllt wird, kannst Du mit folgendem Code iterativ auf die Spaltennamen zugreifen:
C#:
for(int index = 0; index < dataTable.Columns.Count; index++)
{
     System.Console.WriteLine(dataTable.Columns[index].ColumnName);
}


Hoffe, ich konnte weiterhelfen ;)

Viel Grüße
 
Zuletzt bearbeitet von einem Moderator:

krokev

Mitglied
danke für deine hilfe problem eins ist behoben und zu zwei

wie kann ich die datatable befühlen und in meiner leeren gui ausgeben wie gesagt ich bin anfänger und habe keine ahnung was die nächsten schritte sind

LG
 
V

VScan

Hallo,

zu folgenden Problemen:

wie kann ich die datatable befühlen und in meiner leeren gui ausgeben wie gesagt ich bin anfänger und habe keine ahnung was die nächsten schritte sind

1. Funktionsaufruf testen (DataAccess.ExecuteQuery("Select * from ...."))

2. Eine Textbox in deine Form ziehen (ich gehe davon aus, dass Du mit Visual Studio 2010 arbeitest, da Du bisher nichts erwähnt hast)

3. überlegen, wie das Ereignis augelöst werden soll, das die Daten von der Datenbank abholt (über einen button-click; gleich beim programmstart; alle 10 minuten, ....)

4. Die Textbox befüllen


Solltest du die oben genannten Schritte nicht ausführen können ohne weitere Hilfe, würde ich sagen, Du solltest Dir mal die MSDN angucken, da wird erklärt, wie man Schritt für Schritt eine WindowsForm anlegt.

Hier der Link: http://msdn.microsoft.com/de-de/library/360kwx3z(v=vs.90).aspx


Viele Grüße
 

krokev

Mitglied
zu 4. die ausgabe soll nicht in textboxen erfolgen sondern in form von einem label****

habe vergessen zu erwähnen das ich drei verschiedene kategorien habe und je kategorie eine verschiede ausgabe haben sollte, hierzu diehnen mir zwei extra tabellen in welcher definiert werden zu welcher kategorie welche feldnamen ausgegeben werden
 
V

VScan

Hallo,

kein Problem, ich denke, dass viele Komponenten für die Datenpräsentation in Frage kommen, je nachdem, was von der Anwendung gefordert wird, eigenen sich die verschiedenen .Net-Klassen einmal mehr oder weniger.

Viele Grüße
 
V

VScan

Hey,

könntest Du das Problem, das Du im Moment hast, nochmal genauer erörtern?

Was ist der Zweck der Anwendung wenn ich fragen darf?

Viele Grüße
 

Neue Beiträge