C# Mysql Verbindung herstellen


Manuel

Mitglied
Hallo,

Tag ein Tag aus, suche ich hier & auf anderen Homepages nach Lösungen doch es gibt immer ein Problem. Ich schaffe es nicht die Verbindung mit einer MySQL Datenbank herzustellen. Ich habe ein sehr gutes Tutorial gefunden (http://code-inside.de/blog/2007/11/27/howto-datenbankverbindungen-net-mysql/). Aber um weiter zu machen, müsste ich erstmals den ersten Schritt schaffen (Verbindung herstellen). Mein bisheriger Code ist:

C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace MySQL_Login
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MySqlConnection connection = new MySqlConnection(@"Server=geändert;Uid=geändert;Pwd=geändert;Database=geändert;");
            connection.Open();
            MySqlCommand insertCommand = new MySqlCommand("INSERT INTO blocked_ips (ipAddress) VALUES ('yeha')", connection);
            int i = insertCommand.ExecuteNonQuery();
        }
    }
}
Er bringt mir folgende Meldung: Connection must be valid and open.

Ich verstehe nicht was falsch sein soll. Meine ganzen Serverdaten sind richtig. Extra kopiert und eingefügt( ! ).

Ich benutze nicht XAMPP und auch keinen MySQL Server von mysql.net (oder sowas). Liegt es vielleicht daran ? Ich habe einen Linux Server den mir ein guter Freund mal programmiert hat. Ich hoffe ihr könnt mir helfen. Bis jetzt haben mir wirklich keine Themen geholfen :eek:

Danke schonmal im Vorraus :)

(Bin Anfänger in C#)
 
Zuletzt bearbeitet:

CPoly

Mitglied Weizenbier
Gibt es eine Exception oder wird der Datensatz einfach nicht eingetragen?

Du solltest ans Ende noch ein connection.close() setzen, auch wenn das vermutlich nichts mit deinem Problem zu tun hat.

Edit: Hab gerade erst die Fehlermeldung gesehen.
 

Manuel

Mitglied
Also, ich poste es nächstesmal besser. Ich schreibe aber hier noch weiter bevor ich nen neuen Thread aufmache. Moderatoren können es ja dann verschieben. Also ich habe jetzt schonmal eine Verbindung zur MySQL Datenbank. Wenn ich Einträge eintragen will, kommt folgende Meldung: Table 'test.test' doesn't exist

Markiert wird folgendes:
C#:
int i = insertCommand.ExecuteNonQuery();

Code sieht folgendermaßen aus:
C#:
MySqlConnection connection = new MySqlConnection(@"Server=localhost;Uid=manuel;Pwd=geändert;Database=test;");
connection.Open();
MySqlCommand insertCommand = new MySqlCommand("INSERT INTO test (test) VALUES ('yeha')", connection);
int i = insertCommand.ExecuteNonQuery();

Danke nochmals im Vorraus :)
 

Nico Graichen

Erfahrenes Mitglied
Die Meldung sagt doch alles! Die Tabelle, in die du schreiben willst, existiert nicht!
Hast du das geprüft? Hat der User Rechte in die Tabelle zu schreiben? ....
 

Manuel

Mitglied
Sorry, ich hätte dazu schreiben sollen, das ich den Benutzer manuel extra angelegt habe mit allen Rechten (benutze jetzt XAMPP). Und ich hab die Datenbank test und die Tabelle test angelegt. Ich mach jetzt nochmal nen Check. Wenn sich nichts geändert hat, dann bearbeite ich den Beitrag nicht, wenn schon, dann steht unter der Nachricht ein edit. ;)

Edit: Ach ich bin blöd. Hab die Tabelle test in der Datenbank manuel angelegt. Aber Datenbank test hab ich schon angelegt ^^ Also es geht :)
 
Zuletzt bearbeitet:
G

Gafield83

Hallo,

Das problem hatte ich auch das er angeblich eine Tabell nicht finden kann.

ich habe es so gelöst :

private void button1_Click(object sender, EventArgs e)
{
MySqlConnection connection = new MySqlConnection(@"Server=localhost;Uid=root;Pwd=passwort;Database=dotnet;");

connection.Open();
String name = textBox1.Text;
MySqlCommand insertCommand = new MySqlCommand("INSERT INTO test (value) VALUES ('" + name + "')", connection);
int i = insertCommand.ExecuteNonQuery();
}

geht bei mir jetzt wunderbar .
 

Neue Beiträge