Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561

    [vb 2005]Problema nell'esecuzione di una INSERT

    HO IL SEGUENTE CODICE:

    #Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ' If CheckBox2.Checked Then
    ' mod_maschera = True
    'ElseIf CheckBox3.Checked Then
    'mod_maschera = False
    'End If
    'If CheckBox4.Checked Then
    'consul_listini = True
    'ElseIf CheckBox5.Checked Then
    'consul_listini = False
    'End If
    'If CheckBox6.Checked Then
    'consul_listini = True
    'ElseIf CheckBox7.Checked Then
    'consul_listini = False
    'End If
    'If CheckBox8.Checked Then
    'accesso_articoli = True
    'ElseIf CheckBox9.Checked Then
    'accesso_articoli = False
    'End If
    Dim utente As String = TextBox1.Text
    If String.IsNullOrEmpty(utente) Then
    MessageBox.Show("Devi inserire un utente")
    TextBox1.Focus()
    Exit Sub
    End If
    'Dim con As New ClsDati()
    'Dim ds As DataSet
    Dim stringSql1 As String = "INSERT INTO UTENTI(Utente,Password) VALUES ('" & utente & "','VV')"

    MessageBox.Show(stringSql1)
    Dim m_StrConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\enzo.ENZO-59B7B5DDEE\Documenti\Visual Studio 2005\Projects\prova\prova\Db1.mdb;Persist Security Info=False"
    'con.ExecuteNonQuery(stringSql1)
    Dim vConn As New OleDbConnection(m_StrConn)
    Dim vComm As New OleDbCommand()
    Try
    vConn.Open()

    vComm.CommandText = stringSql1
    vComm.Connection = vConn
    vComm.ExecuteNonQuery()
    Catch ex As Exception
    MessageBox.Show(ex.ToString, "Errore di accesso ai dati")

    End Try


    'Dim stringSql2 As String = "SELECT ID FROM UTENTI WHERE Utente='" & utente & "'"
    'ds = con.ExecuteQuery(ClsDati.ReturnType.DataSetType, stringSql2)

    'Dim ID As String = ds.Tables("UTENTI").Rows(0).Item("ID")

    'Dim stringSql3 As String = "INSERT INTO PERMESSI(FK_UTENTE) VALUES(" & ID & ")"
    'con.ExecuteNonQuery(stringSql3)
    End Sub

    ma arrivati all'istruzione vComm.ExecuteNonQuery() ottengo una eccezione di errore di sintassi nella INSERT ma non so cosa possa essere

    tulipan

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se ID e' una stringa, allora va tra singoli apici inseriti dopo la ( e prima della )

    "INSERT INTO PERMESSI(FK_UTENTE) VALUES('" & ID & "')"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561
    anche con questo codice ottengo lo stesso errore:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim utente As String = TextBox1.Text
    If String.IsNullOrEmpty(utente) Then
    MessageBox.Show("Devi inserire un utente")
    TextBox1.Focus()
    Exit Sub
    End If

    Dim m_StrConn As String="Provider=Microsoft.Jet.OLEDB.4.0;DataSourc e=C:\Documentsand Settings\enzo.ENZO-59B7B5DDEE\Documenti\Visual Studio 2005\Projects\prova\prova\Db1.mdb;Persist Security Info=False"
    Dim vConn As New OleDbConnection(m_StrConn)
    vConn.Open()
    Try
    Dim vComm As New OleDbCommand("INSERT INTO UTENTI(Utente,Password) VALUES (?,?)", vConn)
    ' Definisce i parametri del comando
    Dim MyParam As OleDbParameter
    ' Valorizza il parametro con il nome dell'utente
    MyParam = New OleDbParameter("Utente", OleDbType.VarChar, 50)
    MyParam.Value = utente
    vComm.Parameters.Add(MyParam)
    ' Valorizza il parametro con la password
    MyParam = New OleDbParameter("Password", OleDbType.VarChar, 32)
    MyParam.Value = "ciao"
    vComm.Parameters.Add(MyParam)


    vComm.ExecuteNonQuery()
    Catch ex As Exception
    MessageBox.Show(ex.ToString, "Errore di accesso ai dati")

    End Try



    End Sub

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma scusa ... prima di fare un'altra domanda e proporre un altro codice, come e' finita per il primo quesito e per la risposta che ti ho dato?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561
    l'ID di cui tu parli è relativo ad una INSERT che nel primo codice è commentata.....nel secondo codice infatti l'ho tolta ed ho modificato un po le cose per evitare problemi con sti apici mettendo i parametri ma la situazione non è cambiata...


    tulipan

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da tulipan
    l'ID di cui tu parli è relativo ad una INSERT che nel primo codice è commentata.....nel secondo codice infatti l'ho tolta ed ho modificato un po le cose per evitare problemi con sti apici mettendo i parametri ma la situazione non è cambiata...
    Posta la versione che fa uso dei parametri (e racchiudi il codice con l'apposito tag CODE!).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561

    ecco il codice

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim utente As String = TextBox1.Text
    If String.IsNullOrEmpty(utente) Then
    MessageBox.Show("Devi inserire un utente")
    TextBox1.Focus()
    Exit Sub
    End If

    Dim m_StrConn As String="Provider=Microsoft.Jet.OLEDB.4.0;DataSourc e=C:\Documentsand Settings\enzo.ENZO-59B7B5DDEE\Documenti\Visual Studio 2005\Projects\prova\prova\Db1.mdb;Persist Security Info=False"
    Dim vConn As New OleDbConnection(m_StrConn)
    vConn.Open()
    Try
    Dim vComm As New OleDbCommand("INSERT INTO UTENTI(Utente,Password) VALUES (?,?)", vConn)
    ' Definisce i parametri del comando
    Dim MyParam As OleDbParameter
    ' Valorizza il parametro con il nome dell'utente
    MyParam = New OleDbParameter("Utente", OleDbType.VarChar, 50)
    MyParam.Value = utente
    vComm.Parameters.Add(MyParam)
    ' Valorizza il parametro con la password
    MyParam = New OleDbParameter("Password", OleDbType.VarChar, 32)
    MyParam.Value = "ciao"
    vComm.Parameters.Add(MyParam)


    vComm.ExecuteNonQuery()
    Catch ex As Exception
    MessageBox.Show(ex.ToString, "Errore di accesso ai dati")

    End Try



    End Sub

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da alka
    (e racchiudi il codice con l'apposito tag CODE!).
    Meno male che te lo aveva scritto ...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561
    come si fa a chiudere il codice con il tag CODE?


    vincenzo

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se usi il tasto

    #

    dell'editor, ci pensa lui ...

    Comunque i tag sono

    [ CODE ] e [ /CODE ]

    senza gli spazi ....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.