C# dodawanie record do bazy

0
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 System.Data.Odbc;

namespace Dzienniczek
{
    public partial class PanelDyretorDodawanie : Form
    {
        public PanelDyretorDodawanie()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string Imie_ucznaAdda = textBox1.Text;
            string Nazwisko_uczniaAdd = textBox2.Text;
            string numer_uczniaAdd = textBox3.Text;
            string peselAdd = textBox4.Text;
            string adres_zamieszkaniaAdd = textBox5.Text;
            string loginAdd = textBox6.Text;

            if (Imie_ucznaAdda == "")
            {
                label1.Text = "Wprowadz Imie !!";
            }
            else
            {
                if (Nazwisko_uczniaAdd == "")
                {
                    label1.Text = "Wprowadz Nazwisko !!";
                }
                else {
                    if (numer_uczniaAdd == "")
                    {
                        label1.Text = "Wprowadz numer_ucznia !!";
                    }
                    else {
                
                        //Sprawdza czy taka numer_ucznia juz istnieje
                        string connectionString2 = "Dsn=DziennikLekcyjny;uid=dba";
                OdbcConnection polaczenie2 = new OdbcConnection(connectionString2);
                polaczenie2.Open();
                string commandString2 = "SELECT Imie_ucznia AS zmienna FROM uczniowie WHERE ID_ucznia = '" + numer_uczniaAdd + "'";
                OdbcCommand cmd2 = new OdbcCommand(commandString2, polaczenie2);
                OdbcDataReader czytacz2;

                listBox1.Items.Clear();

                czytacz2 = cmd2.ExecuteReader(CommandBehavior.CloseConnection);
                while (czytacz2.Read()) listBox1.Items.Add(czytacz2["zmienna"]);
                czytacz2.Close();

                string SprawdzaczIstnieniaID = String.Join(",", listBox1.Items.OfType<Object>()
                .Select(i => i.ToString()).ToArray());

                if (SprawdzaczIstnieniaID != "")
                {
                    label1.Text = "Taki ID juz istnieje!!";
                }
                else 
                {
                    if (peselAdd == "")
                    {
                        label1.Text = "Wprowadz pesel !!";
                    }
                    else {
                        if (adres_zamieszkaniaAdd == "")
                        {
                            label1.Text = "Wprowadz adres_zamieszkania !!";
                        }
                        else 
                        {
                            if (loginAdd == "")
                            {
                                label1.Text = "Wprowadz login !!";
                            }
                            else //Zapis do bazy
                            { 
string connectionString3 = "Dsn=DziennikLekcyjny;uid=dba";
                                OdbcConnection polaczenie3 = new OdbcConnection(connectionString3);
                                polaczenie3.Open();
                                string commandString3 = "INSERT INTO uczniowie (Imie_uczna, Nazwisko_ucznia, ID_ucznia, pesel, adres_zamieszkania, login) VALUES ('" + Imie_ucznaAdda + "', '" + Nazwisko_uczniaAdd + "', '" + numer_uczniaAdd + "', '" + peselAdd + "','" + adres_zamieszkaniaAdd + "', '" + loginAdd + "')";
                                OdbcCommand cmd3 = new OdbcCommand(commandString3, polaczenie3);
                                OdbcDataReader czytacz3;

                                listBox1.Items.Clear();

                                czytacz3 = cmd3.ExecuteReader(CommandBehavior.CloseConnection);
                                while (czytacz3.Read()) listBox1.Items.Add(czytacz3["zmienna"]);
                                czytacz3.Close();

                                label1.Text = "uczen dodany pomyslnie :)";
                                textBox1.Clear();
                                textBox2.Clear();
                                textBox3.Clear();
                                textBox4.Clear();
                                textBox5.Clear();
                                textBox6.Clear();
                            }
                        }
                    }
                    }
                    }
                }
            }
        }

        }
 }

Mam taki problem
ERROR [42000] [Sybase][ODBC Driver][Adaptive Server Anywhere]Syntax error near 'login' on line 1

czytacz3 = cmd3.ExecuteReader(CommandBehavior.CloseConnection);<-- blad pokazuje sie tu
while (czytacz3.Read()) listBox1.Items.Add(czytacz3["zmienna"]);
czytacz3.Close();

Ma ktoś pomysł o co tu chodzi, gdzie jest błąd?

1

LOGIN jest pewnie klauzulą SQL-a. I może głupieć. Użyj separatora pól - nie wiem, jaki jest w SyBase, ale pwenie taki, jak w MS SQL-u - [login]

0

Sugerowałbym oddzielenie walidacji danych od ich zapisu do bazy. Te niekończące się zagnieżdżone ify to jakiś koszmar.

1 użytkowników online, w tym zalogowanych: 0, gości: 1