Update v database   zodpovězená otázka

VB.NET

Zdravím zkouším propiji VB.net s Access databasí... A zkouším jednoduché příkazai jako insert,delete,update

Ale právě Update se mi nedaří

       Sub oprava(ByVal Id As Integer, ByVal nazev As String, ByVal kategorie As String)
            Dim cmd As OleDb.OleDbCommand
            Dim SQLstri1 As String

            SQLstri1 = "update Tabulka1 set"
            SQLstri1 = SQLstri1 & " nazev = @naz , kategorie = @kat where id = @id"

            cmd = New System.Data.OleDb.OleDbCommand(SQLstri1, con)





            Dim par1 As System.Data.OleDb.OleDbParameter = cmd.Parameters.Add("@id", OleDb.OleDbType.Integer)
            par1.Value = Id

            Dim par2 As System.Data.OleDb.OleDbParameter = cmd.Parameters.Add("@naz", OleDb.OleDbType.VarChar)
            par2.Value = nazev


            Dim par3 As System.Data.OleDb.OleDbParameter = cmd.Parameters.Add("@kat", OleDb.OleDbType.VarChar)
            par3.Value = kategorie


            cmd.ExecuteNonQuery()



        End Sub

Kod proběhne v pohodě, ale v databasi nic enupraví...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Co takle nejdriv otevrit pripojeni nez zacnu updatovat ??

(a samozrejme pak i zavrit ....)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Připojení samozřejmě mám... Jen je dělaný v jiné subce... Ale problém už jsem vyřešil..

 Sub oprava(ByVal Id As Integer, ByVal nazev As String, ByVal kategorie As String)
            Dim cmd As OleDb.OleDbCommand
            Dim SQLstri1 As String

            SQLstri1 = "update Tabulka1 set"
            SQLstri1 = SQLstri1 & " nazev = @naz , kategorie = @kat where id = @id"

            cmd = New System.Data.OleDb.OleDbCommand(SQLstri1, con)





           
            Dim par2 As System.Data.OleDb.OleDbParameter = cmd.Parameters.Add("@naz", OleDb.OleDbType.VarChar)
            par2.Value = nazev


            Dim par3 As System.Data.OleDb.OleDbParameter = cmd.Parameters.Add("@kat", OleDb.OleDbType.VarChar)
            par3.Value = kategorie


 Dim par1 As System.Data.OleDb.OleDbParameter = cmd.Parameters.Add("@id", OleDb.OleDbType.Integer)
            par1.Value = Id
 ---TOHLE MUSI BYT NA POSLEDNIM MISTE, STEJNE JAKO V TOM UPDATE PAK TO FUNGUJE... DUVOD ALE NEZNAM:::

            cmd.ExecuteNonQuery()



        End Sub
 



nahlásit spamnahlásit spam 0 odpovědětodpovědět

Divné, na tom by záležet nemělo. Jedině že by to parametry vyžadovalo v tom pořadí, v jakém jsou uvedené v dotazu, ale tomu se mi nechce věřit.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Je to tak

- taky jsem s tím bojoval a skutečně vyžaduje paramtery v pořadí, ve kterém jsou uvedeny v dotazu

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback