Announcement

Collapse
No announcement yet.

Fehlendes Semikolon (;) am Ende der SQL-Anweisung.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehlendes Semikolon (;) am Ende der SQL-Anweisung.

    Hallo ,

    Ich würde gerne eine Zahl aus eine Textbox lesen und diese dann über en Button in eine DB schreiben.
    Ich bekomme immer folgende Meldung: "Fehlendes Semikolon ( am Ende der SQL-Anweisung.".
    Ich kann nun leider damit nix anfangen und habe auch nix bei Google gefunden kann mir jemand bitte Helfen?

    Vielen Dank
    Code:
    OleDbConnection con = new OleDbConnection();
    OleDbCommand cmd = new OleDbCommand();
    string value1 = "xyz";

    private void button1_Click(object sender, EventArgs e)
    {
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source= D:\\DBTextbox.mdb";
    string txtbox = "Select * from textBox1";
    OleDbCommand cmd = new OleDbCommand(txtbox, con);
    DataSet ds = new DataSet();

    con.Open();
    cmd.CommandText = "Insert into DBTextbox(TestText) VALUES('"+value1+"'))";

    cmd.Parameters.Add(new OleDbParameter("textbox", value1));
    cmd.ExecuteNonQuery();
    con.Close();
    }

    Das Programm bleibt mit genannter Meldung bei cmd.ExecuteNonQuery(); hängen

  • #2
    Habe ich so ein Brett vor dem Kopf und es ist eigentlich so simpel oder seit ihr auch ratlos?

    Comment


    • #3
      Was hindert dich daran, am Ende der SQL-Anweisung ein ; einzufügen?
      Christian

      Comment


      • #4
        Es ist durchaus üblich ein SQL Statement mit ";" abzuschließen. Vor allem in Skript Szenarien wird dadurch signalisiert, dass das SQL Statement an dieser Stelle zu Ende ist.

        Comment


        • #5
          Was sollte denn da eigentlich passieren? Zuerst sehe ich ein "Select * from textbox1", später folgte ein Insert-Statement, welches den vorigen Text überschreibt und dann kommen da auch noch ein Parameter vor und der String "value1" ...
          Außerdem ist die Frage hier meiner Meinung nach falsch, weil es um das Problem geht, in C# irgendwas mit einer Access-Datenbank zu tun, das würde für mich eher so wie hier aussehen und würde in's dotNet-Forum gehören, oder?
          Die Fehlermeldung selber hat mit dem eigentlichen Problem nichts zu tun, denke ich. Wir sollten da mal eher ganz am Anfang ansetzen

          bye,
          Helmut

          Comment


          • #6
            HI Helmut,

            Das kann alles gut sein und ich will auch gar nicht bestreiten das es grundlegend falsch ist. Ich habe mit DB (wie man sieht) überhaupt keine Erfahrung und versuche es mir gerade anzueigenen.
            Bedanke mich für den Link.

            Gruß

            Comment


            • #7
              Das Ziel ist eigentlich, dass eine Eingabe in eine Textbox über ein Button in eine DB geschrieben wird.
              Habe meinen Code mit dem von dem Link verglichen und hatte eigentlich den Eindruck das meiner nicht ganz so falsch ist.

              Comment


              • #8
                Ich würde sagen, du hast einfach ein paar Sachen zusammengemischt, selbst wenn's keinen Sinn macht - wozu sollte zB. das Dataset gut sein?

                eigentlich müsste es etwa so aussehen:
                Code:
                ...
                private void button1_Click(object sender, EventArgs e)
                {
                con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source= D:\\DBTextbox.mdb";
                con.Open();
                
                OleDbCommand cmd = new OleDbCommand("insert into DBTextbox(testText) values('" + textbox.Text + "')", con);
                cmd.ExecuteNonQuery();
                
                con.Close();
                }
                ... ist natürlich nur beispielhaft, hab' mir den Connectionstring nicht genau angesehen und weiß ja auch nicht, wie dein Textfeld und deine Tabelle und deren Felder wirklich heißen, in deinem Source ist so viel durcheinander ...

                bye,
                Helmut

                Comment


                • #9
                  Vielen Dank
                  Lach, das ist gut möglich das da viel durcheinander ist. Bin wirklich neu im Geschäft. Problem ist dann das es schnell frustrierend wird

                  Comment


                  • #10
                    Hallo Helmut,

                    tausend Dank, es hat funktioniert. Nun will ich aber auch nicht jemand sein der sich hier nur ein Code holt und mehr nicht. Ich würde natürlich auch gerne wissen, was ich falsch gemacht habe.
                    Also, das mit dem Dataset habe ich verstanden, da ich es nach der Initialisieung eh nicht mehr benutzt habe ist es ja sinnlos.
                    Ich dachte dass ich mit dem "String txtbox" den Inhalt der Textbox "nehme" und diesen dann mit der "Insert into" in die DB einfüge. Und mit "cmd.Parameters.Add" quasi eine neue Zeile für den textbox Inhalt erzeuge.
                    Aber was mir schon vorher bewusst war und man deutlich an meinem Code sieht, dass ich den Sinn und Zweck von dem Value nicht verstanden habe.
                    Wenn du Zeit und Nerven hast kannst du was dazu schreiben.
                    Vielen Dank
                    Gruß

                    Comment

                    Working...
                    X