Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44

    Insert into non va

    ragazzi da poco sto iniziando con vb 2008,ma non riesco a capire perchè non va questo Insert
    codice:
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim ObjConnection As OleDbConnection
            Dim ObjCommand As OleDbCommand
            Dim StrConn As String
            Dim Query As String
            Dim RispUtente As Integer
            Try
                StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Progetto Carrara\Carrara\Carrara\DbCarrara.accdb;"
                ObjConnection = New OleDbConnection(StrConn)
                ObjConnection.Open()
    
                Query = "INSERT INTO Cliente(Cognome,Nome,Indirizzo,Comune,Telefono,Cellulare,[Cognome Defunto],[Nome Defunto],[DN defunto],[DM defunto],[Zona interrato],[Posizione Nro]) VALUES ('"
                Query = Query & Me.TextBox1.Text & "'" & ","
                Query = Query & "'" & Me.TextBox2.Text & "'" & ","
                Query = Query & "'" & Me.TextBox3.Text & "'" & ","
                Query = Query & "'" & Me.TextBox4.Text & "'" & ","
                Query = Query & "'" & Me.TextBox5.Text & "'" & ","
                Query = Query & "'" & Me.TextBox6.Text & "'" & ","
                Query = Query & "'" & Me.TextBox7.Text & "'" & ","
                Query = Query & "'" & Me.TextBox8.Text & "'" & ","
                Query = Query & "'" & Me.TextBox9.Text & "'" & ","
                Query = Query & "'" & Me.TextBox10.Text & "'" & ","
                Query = Query & "'" & Me.TextBox11.Text & "'" & ","
                Query = Query & "'" & Me.TextBox12.Text & "'" & ")"
                ObjCommand = New OleDbCommand(Query, ObjConnection)
                RispUtente = ObjCommand.ExecuteNonQuery()
                '   If (RispUtente = 1) Then
                'MsgBox("inserimento effettuato")
                'ObjConnection.Close()
                'Me.TextBox1.Text = ""
                ' Me.TextBox2.Text = ""
                ' Me.TextBox1.Focus()
                ' Else
                ' MsgBox("Inserimento non Effettuato.Rinserisci i dati")
                'ObjConnection.Close()
                ' End If
                MsgBox("riusciuto")
    Ho provato con il try e l'errore me lo da su RispUtente =ObjCommand.ExcuteNonQuery(),
    quindi la query non va a buon fine...come mai?la connessione credo che sia tutto ok...

  2. #2
    L'errore dipende sicuramente dal fatto che non usi le query parametriche, pertanto, ci sarà qualche conflitto di tipo(visto che hai messo gli apici dappertutto) .... ma se ci dicessi anche che tipo di errore ricevi .... non sarebbe affatto male.

    Facci sapere....
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    non ricevo nessuno errore...semplicemente non inserisce i dati....anche se lascio tutti i campi vuoti e faccio inserisci..non va..quindi non so se è una questione di tipi...

  4. #4
    Non sai qual'è l'errore perchè non lo gestisci correttamente .... ma l'errore c'è ... sicuro che c'è!
    Altrimenti, vuol dire che stai puntando ad un database diverso da quello che pensi.

    Facci sapere...
    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    ho provato cosi.....nemmeno va...
    codice:
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim ObjConnection As OleDbConnection
            Dim ObjCommand As OleDbCommand
            Dim StrConn As String
            Dim Query As String
            Dim RispUtente As Integer
            Try
                StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Progetto Carrara\Carrara\Carrara\DbCarrara.accdb;"
                ObjConnection = New OleDbConnection(StrConn)
                ObjConnection.Open()
                ObjCommand = New OleDbCommand("INSERT INTO Cliente(Cognome,Nome,Indirizzo,Comune,Telefono,Cellulare,[Cognome Defunto],[Nome Defunto],[DN defunto],[DM defunto],[Zona interrato],[Posizione Nro]) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", ObjConnection)
               
                ObjCommand.Parameters.Add("@Cognome", OleDbType.Char, 50).Value = Me.TextBox1.Text
                ObjCommand.Parameters.Add("@Nome", OleDbType.Char, 50).Value = Me.TextBox2.Text
                ObjCommand.Parameters.Add("@Indirizzo", OleDbType.Char, 50).Value = Me.TextBox3.Text
                ObjCommand.Parameters.Add("@Comune", OleDbType.Char, 50).Value = Me.TextBox4.Text
                ObjCommand.Parameters.Add("@Telefono", OleDbType.Char, 50).Value = Me.TextBox5.Text
                ObjCommand.Parameters.Add("@Cellulare", OleDbType.Char, 50).Value = Me.TextBox6.Text
                ObjCommand.Parameters.Add("@Cognome Defunto", OleDbType.Char, 50).Value = Me.TextBox7.Text
                ObjCommand.Parameters.Add("@Nome Defunto", OleDbType.Char, 50).Value = Me.TextBox8.Text
                ObjCommand.Parameters.Add("@DN defunto", OleDbType.Date).Value = Me.TextBox9.Text
                ObjCommand.Parameters.Add("@DM defunto", OleDbType.Date).Value = Me.TextBox10.Text
                ObjCommand.Parameters.Add("@Zona Interrato", OleDbType.Char, 50).Value = Me.TextBox11.Text
                ObjCommand.Parameters.Add("@Posizione Nro", OleDbType.Integer, 50).Value = Me.TextBox12.Text
    
    
                RispUtente = ObjCommand.ExecuteNonQuery()
                '   If (RispUtente = 1) Then
                'MsgBox("inserimento effettuato")
                'ObjConnection.Close()
                'Me.TextBox1.Text = ""
                ' Me.TextBox2.Text = ""
                ' Me.TextBox1.Focus()
                ' Else
                ' MsgBox("Inserimento non Effettuato.Rinserisci i dati")
                'ObjConnection.Close()
                ' End If
                MsgBox("riusciuto")
            Catch ex As Exception
                MsgBox("non riusciuto")
                ObjConnection.Close()
    
            End Try
            Form2.Show()
            ObjConnection.Close()
    
    
        End Sub
    
    End Class
    Un'altra cosa il database creato in access metto come tipo di dato Testo....a quale corrisponde in OledbType?ho fatto bene cosi?

  6. #6
    Vogliamo sapere l'errore!!!!

    Sostituisci
    codice:
     Catch ex As Exception
                MsgBox("non riusciuto")
    con
    codice:
    Catch ex As Exception
               MessageBox.show(ex.message)
    Facci sapere...
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    impossibile convertire in valore di un parametro da una stringa a un datatime....

  8. #8
    Prova così:
    codice:
    ObjCommand.Parameters.Add("@DN defunto", OleDbType.Date).Value = cdate(Me.TextBox9.Text)
    ObjCommand.Parameters.Add("@DM defunto", OleDbType.Date).Value = cdate(Me.TextBox10.Text)
    Facci sapere...
    Ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    44
    se provo con i campi nulli non mi va ugualmente perchè dice che non puo convertire la stringa "" in una data...se metto la data...ora mi da impossibile convertire la stringa in un int32

  10. #10
    impossibile convertire la stringa in un int32

    Hai provato la modifica che ti ho suggerito?

    Ad ogni modo, per tagliare la testa al toro, al posto di TextBox9 e TextBox10 .... usa dei DateTimePicker.

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.