Új hozzászólás Aktív témák

  • t256

    őstag

    Sziasztok,

    C#-ban próbálok elérni helyi (LocalDB) adatbázist. Grafikus felületen bekérem az adatokat a usertől. Ezt eltárolom egy Objektum listában. Fuvar adatok vannak benne. For each függvénnyel végigmegyek a listán. Az adattagokat belerakom 1-1 változóba, majd ezeket rakom egy stringbe, ami egy SQL parancsot tartalmaz.
    Így: sqlInsertQuery += $"INSERT INTO [dbo].[Fuvarok] ([FeladoUgyfel], [CelCime], [FeladasCime], [FeladasDatuma], [CsomagAdatai], [Prioritas] [KivantErkezesiDatum]) VALUES ({felado}, {celCime}, {feladasCime}, {feladasDatuma}, {csomagAdatai}, {prio}, {kivErkDat})";

    Utána létrehozom az adatbázis kapcsolatot, hogy hozzá tudjam adni az adatokat:

    string connStr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\user\Documents\ModulZaroAB.mdf;Integrated Security=True;Connect Timeout=30";
                SqlConnection sqlConn = new SqlConnection(connStr);
                sqlConn.Open();

                SqlCommand sqlCom = new SqlCommand(sqlInsertQuery, sqlConn);
                sqlCom.ExecuteNonQuery();

                sqlConn.Close();

    Amikor el jut a fordító az sqlCom.ExecuteNonQuery(); sorhoz, akkor a következő hibaüzenetet kapom:

    System.Data.SqlClient.SqlException: 'Incorrect syntax near 'Kis'.
    Incorrect syntax near 'Béla'.
    Incorrect syntax near 'Judit'.'

    Tehát az első oszlop elemeire hivatkozik, ami a [FeladoUgyfel] {felado} páros.
    Az adatbázisban a [FeladoUgyfel] NVARCHAR (50) NOT NULL,
    A felado pedig egy string.

    Itt van a for each függvény is, hátha:

    foreach  (Fuvar fuvar in fuvarlista.getList())
                {
                    string felado = fuvar.FeladoUgyfel;
                    string celCime = fuvar.CelCime;
                    string feladasCime = fuvar.FeladasCime;
                    string feladasDatuma = fuvar.FeladasDatuma;
                    string csomagAdatai = fuvar.CsomagAdatai;
                    bool prio = fuvar.Prioritas;
                    string kivErkDat = fuvar.KivantErkezesiDatum;
                }

    Sejtem, hogy valami szembetűnő hibát csináltam csak én nem látom.

    A segítséget előre is köszönöm!

Új hozzászólás Aktív témák

Hirdetés