C# Visual C# und Mysql

Hornisse

Ensign
Registriert
Juni 2006
Beiträge
194
Hallo,
setze mich gerade mit C# und Mysql auseinander, steh da noch Anfang und setz mich mit dem Syntax noch auseinander.
Geht da um denn Globalen Zugriff auf die DB, die ganzen Tuts und mein Buch sagen nix darüber aus, wie ich das hinbekomme um nicht jedesmal den Connectstring zur DB mit in den Code zu schreiben.

ab con.Open() ist schluss obwohl mir kein Fehler angezeigt wird vom Syntax.
Bevor jetzt einer sich an Kopp packt, ich hab bisher immer ne Programmiersprache mit Hindernissen gelernt. :freaky:



Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Data.OleDb;

    namespace SC_Markt
{
    public partial class Form1 : Form
{
    
    public MySqlConnection con = new MySqlConnection("Data Source=localhost;" + "Initial Catalog=shema;UID=name;Password=pw");
    public MySqlCommand    cmd = new MySqlCommand();
    public MySqlDataReader Reader;  
    
    
 

        public Form1()
        {
       
            InitializeComponent();
         
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }


       
  private void button4_Click(object sender, EventArgs e) 
              
     {
                progressBar1.Value = 0;
                cmd.CommandText = "SELECT * FROM systeme";

               con.Open();
                Reader = cmd.ExecuteReader();
                while (Reader.Read())
    {
                    string row = "";
                    for (int i = 0; i < Reader.FieldCount; i++)
                        row += Reader.GetValue(i).ToString() + "";
                    comboBox1.Items.Remove(row);
                    comboBox1.Items.Add(row);
                    progressBar1.Maximum = +9;
                    progressBar1.Value++;
                }
           

           
           con.Close() ;
    }
 
@TE

Ich schmeiße mal ganz grob in den Raum, das du die Möglichkeit hättest den DB-Connect Part einfach in einer externen Datei anzulegen (Header) und diese einfach Global in die Main mit einbindest, zumindest machen wir das imo in der Schule so, allerdings nur via PHP und mySQL, was aber denke ich nicht all zu unterschiedlich sein sollte.

Falls ich mit der Aussage falsch liege, dann verdonnert mich, aber man lernt ja nie aus ;)
 
Fehlermeldung?
Ist in der DB ein Benutzer "name" mit Passwort "pw" angelegt?
 
Ich würde den Eventhandler button_4Click mit einem try-catch block versehe. und heisst dein Schema wirklich shema?
 
Nein das nennt sich natürlich nicht Shema, oder soll ich gleich noch die ganzen DB Daten mit Posten?!.
Das mit Try kenn ich, wegen der Fehlermeldung.
Ich bekomme aber ne Fehlermeldung sobald con.Open kommt und er Lesen will, dass keine Verbindung besteht.

wenn ich den Connect direkt in den Block reinschreibe geht es ohne Probleme, nur ich will das nicht bei jedem DB Zugriff machen wollen.

Also über Globale Variablen, so das ich die benutzen kann ohne alles da rein zu packen.

in CON steht ja auch das passende drinn, nur warum das nicht funktioniert ist mir schleierhaft.
 
das fällt mir jetzt erst auf, du instanziierst die variablen im deklarationsblock. das kann nicht gehen. das musst du im konstruktor der klasse machen. und schön aufpassen, dass du die variablen auch wieder aufräumst.
 
Zurück
Oben