Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Modifica Insert in sql ado

    Ciao a tutti, sono nuovamente qua, dopo aver creato il db come nel post precedente, ho bisogno di inserire dei dati, riesco a inserire il primo, ma la seconda volta mi reinserisce sempre gli stessi dati nonostante cambio la sql... c'è qualche refresh da fare o come si reimposta la riga OleDbCommand(sql, cn)?

    Dim Dovedatabase As String = "C:\Clienti.mdb"
    Dim strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Dovedatabase
    Dim cn As New OleDbConnection(strconn) 'Dichiaro la nuova connessione
    cn.Open()
    ' ************************************ inserisci qui
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'X')"
    Dim xCmd As New OleDbCommand(sql, cn)
    'Primo()
    xCmd.Parameters.AddWithValue("Name", LR1.Text)
    xCmd.Parameters.AddWithValue("Numero", 1)
    xCmd.ExecuteNonQuery()

    'Secondo
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'X')"
    xCmd.Parameters.AddWithValue("Name", LR2.Text)
    xCmd.Parameters.AddWithValue("Numero", 2)

    xCmd.ExecuteNonQuery()


    Grazie

  2. #2
    Se ci fai caso nel secondo lancio del comando Sql , non reimposti il command text...

    Fai cosi :

    Dim Dovedatabase As String = "C:\Clienti.mdb"
    Dim strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Dovedatabase
    Dim cn As New OleDbConnection(strconn) 'Dichiaro la nuova connessione
    cn.Open()
    ' ************************************ inserisci qui
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'X')"
    Dim xCmd As New OleDbCommand(sql, cn)
    'Primo()
    xCmd.Parameters.AddWithValue("Name", LR1.Text)
    xCmd.Parameters.AddWithValue("Numero", 1)
    xCmd.ExecuteNonQuery()

    'Secondo
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'X')"
    xCmd.CommandText = sql
    xCmd.Parameters.AddWithValue("Name", LR2.Text)
    xCmd.Parameters.AddWithValue("Numero", 2)

    xCmd.ExecuteNonQuery()


  3. #3
    semmai forse e' meglio...

    Originariamente inviato da DarioN1
    ...
    'Secondo
    // inutile rimettere il commandtext se e' uguale
    // sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'X')"
    xCmd.Parameters.Clear();
    xCmd.Parameters.AddWithValue("Name", LR2.Text)
    xCmd.Parameters.AddWithValue("Numero", 2)
    ...
    Saluti a tutti
    Riccardo

  4. #4
    vero

    Non ho visto che le due query eran uguali

  5. #5

    Errore nella query

    Ciao, ho sbagliato, le query si differenziano nell'ultimo dato in questo modo:

    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'A')"
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'B')"
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'C')" ...ecc

    Intanto grazie, ho provato con entrambe i metodi:

    'SECONDO
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'B')"
    xCmd.Parameters.AddWithValue("Name", LR2.Text)
    xCmd.Parameters.AddWithValue("Numero", 2)
    xCmd.Parameters.Clear()
    xCmd.ExecuteNonQuery()

    In questo modo mi da parametri mancanti, nel seguente modo

    'SECONDO
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'B')"
    xCmd.Parameters.AddWithValue("Name", LR2.Text)
    xCmd.Parameters.AddWithValue("Numero", 2)
    xCmd.Parameters.Clear()
    xCmd.CommandText = sql
    xCmd.ExecuteNonQuery()

    Mi da sempre lo stesso errore.

    Mentre in questo modo :

    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'B)"
    xCmd.Parameters.AddWithValue("Name", LR2.Text)
    xCmd.Parameters.AddWithValue("Numero", 2)
    xCmd.CommandText = sql
    xCmd.ExecuteNonQuery()
    Funziona la prima volta poi si blocca e mi ripete sempre questi dati anche se li cambio.

    Sicuramente sbaglio, ma non so dove.Intanto faccio altre prove.

  6. #6

    Fatto

    Ciao, con un po' di logica ci potevo arrivare subito... se uso il clear e poi non passo i parametri povero ADO come poteva sapere?!? Ho scritto in questo modo:

    'SEcondo
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'B')"
    xCmd.Parameters.Clear()
    xCmd.CommandText = sql
    xCmd.Parameters.AddWithValue("Name", LR2.Text)
    xCmd.Parameters.AddWithValue("Numero", 2)
    xCmd.ExecuteNonQuery()

    'Terzo
    sql = "INSERT INTO cazzarola(Nome,Num,ruolo) VALUES (@Name,@Numero,'C')"
    xCmd.Parameters.Clear()
    xCmd.CommandText = sql
    xCmd.Parameters.AddWithValue("Name", LR3.Text)
    xCmd.Parameters.AddWithValue("Numero", 3)
    xCmd.ExecuteNonQuery()

    ecc...

    Grazie mille per i suggerimenti

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 © 2026 vBulletin Solutions, Inc. All rights reserved.