Laden...

Spalte in Mysql-Tabelle einfügen

Erstellt von arakhsh_j vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.279 Views
A
arakhsh_j Themenstarter:in
30 Beiträge seit 2010
vor 13 Jahren
Spalte in Mysql-Tabelle einfügen

Hallo,

ich habe folgendes Problem, weiss leider nicht warum mit folgendem Code keine Spalte der Tabelle eingefügt wird !!

danke voraus für eure Beiträge und Tipps.

Voraussetzung: die verbing zu mysql beteht bereits.


private void SpalteEinfuegen_Click(object sender, EventArgs e)
    {
     string neue_spalten_Name = "muster Spalte";
      string tabellename = "meine_Tabelle";
      string AddSpaltebefehlstr;
      MySqlCommand cmdaddspalte = new MySqlCommand();


        AddSpaltebefehlstr = "ALTER TABLE "+tabellename+
                           " ADD "+ AddSpalteSql.spaltennameStr +" char default 1";
        cmdaddspalte.CommandText = AddSpaltebefehlstr;
        cmdaddspalte.Connection = sqlVerbindungForm.mysqlconn;

        DBsql.sqlDatenHolen();
      }

    public static void sqlDatenHolen()
    {
      DataTable sqldatentable = new DataTable();
      DataTable table = new DataTable();
      MySqlDataAdapter mysqladap = new MySqlDataAdapter();
      MySqlCommand cmd = new MySqlCommand();
      string cmdstring = "SHOW TABLES";
      string colname;

      cmd.CommandText = cmdstring;
      cmd.Connection = sqlVerbindungForm.mysqlconn;
      mysqladap.SelectCommand = cmd;
      mysqladap.Fill(table);
    }
1.552 Beiträge seit 2010
vor 13 Jahren

Hallo araksh_j,

bitte tue dir und uns einen Gefallen und verwende SqlParameter.
An sich müsste das Skript laufen. Werden keine Fehler geworfen? Wie siehts mit den ALTER Rechten des Benutzers aus? Bzw mal probieren char default '1' zu schreiben.

Gruß
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

A
arakhsh_j Themenstarter:in
30 Beiträge seit 2010
vor 13 Jahren

das mit dem sqöparam werde ich machen 😉

es gibt keine Einschränkung bei der Rechte ich habe es selbst bei mysqlquereybrowser ausprobiert klappts wunderbar nur extern funkt nicht!!
ich bekomme auch keine Fehlermeldung.

muss ich eventuell nach:


cmdaddspalte.Connection = sqlVerbindungForm.mysqlconn;

vielleich ein mysqlcommand-Update durchführen !!!

1.552 Beiträge seit 2010
vor 13 Jahren

muss ich vielleich ein mysqlcommand-Update durchführen !!!

Oh ja das musst du, ist mir selbst gar nicht aufgefallen da ich mich zu sehr auf den SQL Befehl konzentriert habe. Natürlich muss der MySqlCommand auch auf die Datenbank ausgeführt werden.

Jedoch sollte die Implementierung überdacht werden, denn bei jedem Klick eine Spalte hinzuzufügen ist nicht schlau, und wird auch zu einem Fehler führen. Ich hoffe es ist nur der Click da um es durch einen Button zu testen.

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

A
arakhsh_j Themenstarter:in
30 Beiträge seit 2010
vor 13 Jahren

also ich habe s gelöst ein mysqladapter hat gefehlt trotzdem Danke für deine antwort.

A
arakhsh_j Themenstarter:in
30 Beiträge seit 2010
vor 13 Jahren
MYSQL mach mich verrückt!!!!!!

Servus,

ich bin kurz dafür den Kopf gegen die Wand zu hauen.
seit gestern versuch ich NUR eine Spalte einer bestehende Mysql-Tablle einzufügen es will einfach nicht klappen ich habe alle mögliche probiert GEHT NICHT!!!!
schaut euch bite den COde an, villeicht fällt euch ja etwas ein.


 private void SpalteEinfuegen_Click(object sender, EventArgs e)
    {
      AddSpalteSql addspalteform = new AddSpalteSql();
      string tabellename;
      string AddSpaltebefehlstr;
      MySqlCommand cmdaddspalte = new MySqlCommand();
      MySqlDataAdapter adapter = new MySqlDataAdapter();
      MySql.Data.MySqlClient.MySqlCommandBuilder Mysqlcmdbuld;

    
        tabellename = "tabellenname";

        AddSpaltebefehlstr = "ALTER TABLE "+tabellename+
                             " ADD "+ AddSpalteSql.spaltennameStr +" char default '1' ";

        cmdaddspalte.CommandText = AddSpaltebefehlstr;
        cmdaddspalte.Connection = sqlVerbindungForm.mysqlconn;
        adapter.SelectCommand = cmdaddspalte;
        adapter.InsertCommand = cmdaddspalte;
        Mysqlcmdbuld = new MySql.Data.MySqlClient.MySqlCommandBuilder(adapter);

      }
    }

3.511 Beiträge seit 2005
vor 13 Jahren

Siehe [Hinweis] Wie poste ich richtig? Punkt 5 und 6

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

1.552 Beiträge seit 2010
vor 13 Jahren

Hallo arakshj_j,

Spalte in Mysql-Tabelle einfügen
bitte verwende bei gleichen Themen denselben Thread.
Ich dachte das Problem ist gelöst?

Gruß
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

Gelöschter Account
vor 13 Jahren

Wenn du den command nicht ausführst, dann passiert auch nicht. Insofern hast du also mit "es geht nciht" sowohl recht als auch unrecht. Der code geht. Er tut was du ihm sagst. Dein vorhaben gelingt nur nicht, weil du dem code nicht alles gesagt hast was er wissen muss 😉

Und nebenbei bemerkt. Gewöhne dir bitte an einen ordendlichen Threadtitel auszuwählen.

Spalte in Mysql-Tabelle einfügen
bitte verwende bei gleichen Themen denselben Thread.

Danke für den Hinweis ==> zusammengefügt.

1.552 Beiträge seit 2010
vor 13 Jahren

Hallo arakhsh_j,

also ich habe s gelöst ein mysqladapter hat gefehlt trotzdem Danke für deine antwort.

Nur mit einem MySqlAdapter wird es nicht funktionieren. In deinen Fall ist dies auch sinnlos einen SqlAdapter zu verwenden, da du eine ALTER Abfrage hast und dadurch das DataSet mit keinen Daten gefüllt werden muss.
Nebenbei gemerkt ist MySqlCommand von DbCommand geerbt, dadurch wäre mein Vorschlag ExecuteNonQuery auf den MySqlCommand auszuführen. Baue einen try catch Block drumherum, damit du auch eventuelle Fehler siehst.

Using MySqlCommand

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

A
arakhsh_j Themenstarter:in
30 Beiträge seit 2010
vor 13 Jahren

also leute ihr habt recht, ich habe alles was mit commadnbuilder und adapter zu tun hat rausgeschmiessen udn mit ExecuteNonQuery() probiert und jetzt klappt s endlich.

Vielen Dank!!