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

    [asp.net oledb] form inserimento dati in db access

    ciao
    ho fatto una sub che permetteREBBE di inserire dei dati all'interno dei campi di una tabella di un db access...PERO' NON LO FA!

    codice:
    sub click_AddRecord(s as Object, e as EventArgs)
    Dim conCiccio As OleDbConnection
    dim strInsert as string
    dim cmdInsert as OleDbCommand
    
    conCiccio = New OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="& Server.MapPath("mdb-database\ciccio2002.mdb") )
    strInsert = "Insert into Tabella1 ( posizione=?, nome=?, cognome=?, tempo=?) Values ( @posizione, @nome, @cognome, @tempo)"
    cmdInsert = New OleDbCommand(strInsert,conCiccio)
    cmdInsert.Parameters.Add("@posizione", txtPosizione.Text)
    cmdInsert.Parameters.Add("@nome", txtNome.Text)
    cmdInsert.Parameters.Add("@cognome", txtCognome.Text)
    cmdInsert.Parameters.Add("@tempo", txtTempo.Text)
    conCiccio.open()
    cmdInsert.ExecuteNonQuery()
    conCiccio.Close()
    end sub
    la sub va associata ad un asp:button "aggiungi concorrente" e prende i campi txtNome txtCognome txtPosizione e txtTempo per inserirli nelle rispettive celle all'interno della Tabella1 di ciccio2002.mdb

    ORA,
    COSA SBAGLIO? MI DA ERRORE!
    -pigiuz-
    "se proprio deve piovere merda voglio almeno sapere da che parte tira il vento" Robert Redford - Spy Game

  2. #2

    Re: [asp.net oledb] form inserimento dati in db access


    strInsert = "Insert into Tabella1 ( posizione=?, nome=?, cognome=?, tempo=?) Values ( @posizione, @nome, @cognome, @tempo)"
    cmdInsert = New OleDbCommand(strInsert,conCiccio)
    cmdInsert.Parameters.Add("@posizione", txtPosizione.Text)
    "Insert into Tabella1 ( posizione, nome, cognome?, tempo) Values ( @posizione, @nome, @cognome, @tempo)"

    A cosa servono i "=?"; prova a levarli.Ma che errore da?

  3. #3
    ho provato a togliere i "=?" e continua a darmi errore.
    l'errore PURTROPPO non riesco a vederlo, faccio le pagine in dreamweaver e le uploddo sul server...e il server quando gli chiedo la pagina mi da "errore di runtime" senza dirmi dove o come o quando o perchè...
    -pigiuz-
    "se proprio deve piovere merda voglio almeno sapere da che parte tira il vento" Robert Redford - Spy Game

  4. #4
    Prova in locale se nò è un pasticcio.
    Prova a usare un'altra sintassi, meno sintetica:

    esempio:

    dim strsql as string="Insert into tblOrdini (id,nome,cognome,residenza,comune,cap,telefono) VALUES (@id, @nome, @cognome, @residenza, @comune, @cap, @telefono)"

    dim id as string="123354436655765"
    dim objparam = new oledbparameter("@id",oledbType.char)
    objparam.value=id
    cmd.Parameters.add(objparam)

    objparam = new oledbparameter("@nome",oledbType.char)
    objparam.value=txtnome.text
    cmd.Parameters.add(objparam)

    objparam = new oledbparameter("@cognome",oledbType.char)
    objparam.value=txtcognome.text
    cmd.Parameters.add(objparam)

    objparam = new oledbparameter("@residenza",oledbType.char)
    objparam.value=txtresidenza.text
    cmd.Parameters.add(objparam)

    objparam = new oledbparameter("@comune",oledbType.char)
    objparam.value=txtcomune.text
    cmd.Parameters.add(objparam)

    objparam = new oledbparameter("@cap",oledbType.char)
    objparam.value=txtcap.text
    cmd.Parameters.add(objparam)

    objparam = new oledbparameter("@telefono",oledbType.char)
    objparam.value=txttelefono.text
    cmd.Parameters.add(objparam)

    conn.Open()

    cmd.ExecuteNonQuery()

    conn.close()

  5. #5
    Credo che il tuo errore sia qui
    strSql="INSERT INTO dati (nome,cognome,telefono) VALUES (?,?,?)"

    tu in values metti i Valori @posizione, @nome etc etc...Ma per il Data base access devi usare i punti interrogativi.

    Ciao


    Marco


    Prova il mio esempio qui sotto.
    codice:
    Sub Button_Click (s As Object, e As EventArgs)
    If IsValid THEN
    Dim conDb As OleDbConnection
    Dim strSql As String
    Dim cmdSql As OleDbCommand
    
    conDb=New OleDbConnection("PROVIDER=Microsoft.JET.OleDb.4.0; Data source="&Server.MapPath("../prove.mdb"))
    strSql="INSERT INTO dati (nome,cognome,telefono) VALUES (?,?,?)"
    cmdSql=New OleDbCommand(strSql, conDb)
    cmdSql.Parameters.Add("@Nome", txtNome.text)
    cmdSql.Parameters.Add("@Cognome", txtCognome.text)
    cmdSql.Parameters.Add("@Telefono", txtTelefono.text)
    conDb.Open()
    cmdSql.ExecuteNonQuery()
    conDb.Close
    
    ltrOk.Text="<strong style='color:red'>UTENTE AGGIUNTO CON SUCCESSO![/b]"
    
    End If
    End Sub

  6. #6
    in effetti adesso funziona!
    purtroppo il libro da cui sto studiando spiega solo sql e non fa che qualche accenno a oledb...
    il libro è "Asp.Net tutto ed oltre" della apogeo (55 euro)
    -pigiuz-
    "se proprio deve piovere merda voglio almeno sapere da che parte tira il vento" Robert Redford - Spy Game

  7. #7
    Originariamente inviato da pigiuz
    in effetti adesso funziona!
    purtroppo il libro da cui sto studiando spiega solo sql e non fa che qualche accenno a oledb...
    il libro è "Asp.Net tutto ed oltre" della apogeo (55 euro)
    Ehm...veramente è il libro che sto studiando anch'io e l'ho letta proprio lì la differenza...magari ti è sfuggita quella parte.
    L'importante è che tu abbia risolto il problema.
    Ciao


    Marco

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.