Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problemi con UPDATE in ASP.NET

    Ciao a tutti,
    premetto che sono alle prime armi in ASP.NET.
    Devo chiedervi due cose:

    1) Qualcuno mi saprebbe dare il codice in VB.NET dell'aggiornamento di un record in un database? Il mio libro di ASP.NET mi sta facendo sbagliare!!
    Praticamente mi fa scrivere così:

    Dim UpdateSQL as string
    UpdateSQL = "UPDATE (tabella) SET "

    Alla richiesta della pagina, mi dice che c'è un errore di sintassi all'interno di UPDATE. Ma come si fa????? Aiutatemi per favore!!

    2) Come mai nella stringa di connessione, quando inserisco un percorso assoluto nel parametro Data Source ( dim strconn as string="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=Database/clienti.mdb" ) vuole che inserisca tutto il path completo(F:/Esercizi_ASPNET/Database/clienti.mdb).
    Addirittura se inserisco il path assoluto, verifica prima se esiste il database all'interno del percorso C:/Document and Settings/All user/Database/clienti.mdb. Altre volte me lo accetta : è come se si correggesse. Cosa succede?

    Grazie in anticipo

  2. #2

    Re: Problemi con UPDATE in ASP.NET

    Originariamente inviato da g.basurto
    Ciao a tutti,
    premetto che sono alle prime armi in ASP.NET.
    Devo chiedervi due cose:

    1) Qualcuno mi saprebbe dare il codice in VB.NET dell'aggiornamento di un record in un database? Il mio libro di ASP.NET mi sta facendo sbagliare!!
    Praticamente mi fa scrivere così:

    Dim UpdateSQL as string
    UpdateSQL = "UPDATE (tabella) SET "

    Alla richiesta della pagina, mi dice che c'è un errore di sintassi all'interno di UPDATE. Ma come si fa????? Aiutatemi per favore!!

    Grazie in anticipo
    La sintassi non è sbagliata, peccato che non è completa...
    codice:
    UPDATE tabella SET campo1=valorecampo1, campo2=valorecampo2"

  3. #3

    codice completo

    updateSQL as string
    updateSQL="UPDATE(tabella) SET "
    updateSQL&="ID='" & txtid.Text & "'"
    updateSQL&="NOME='" & txtnome.Text & "'"
    ...
    updateSQL&="WHERE ID=" & lstclienti.selecteditem.Value & "

    ID è l'identificativo univoco presente nel database.
    lstclienti è una casella di riepilogo.
    L'id è memorizzato prima nella proprietà value dell'oggetto ListItem necessario per definire le voci nella casella di riepilogo.

    Quindi il comando lstclienti.selecteditem.Value prende l'id e lo associa alla relativa voce selezionata.

    Ciao

  4. #4
    codice:
    dim updateSQL as string 
    updateSQL  = " UPDATE(tabella) SET " 
    updateSQL& = " ID='" & txtid.Text & "' , " 
    updateSQL& = " NOME='" & txtnome.Text & "' "

  5. #5

    ..

    innovatel, pensavo che mi avresti dato un aiuto !! Cerca di non postare inutilmente.

    Grazie

  6. #6

    Problemi con SQL

    File .aspx:

    <%@ Page Language="VB" Inherits="Selezione" src="Selezione_Cliente.vb" %>

    <html>
    <head>
    </head>
    <body>
    <form method="post" runat="server">



    Seleziona un cliente:
    <aspropDownList id="lstclienti" runat="server" Width="139px" AutoPostBack="True"></aspropDownList>

    <asp:Button id="cmdupdate" runat="server" Text="Update"></asp:Button>

    <asp:Button id="cmddelete" runat="server" Text="Delete"></asp:Button>




    ID Univoco:
    <asp:Textbox id="txtid" runat="server"></asp:Textbox>


    Nome: <asp:Textbox id="txtnome" runat="server"></asp:Textbox>


    Cognome:<asp:Textbox id="txtcognome" runat="server"></asp:Textbox>


    Indirizzo:<asp:Textbox id="txtindirizzo" runat="server" Width="195px"></asp:Textbox>


    Citta':
    <asp:Textbox id="txtcitta" runat="server"></asp:Textbox>
    </p>



    <asp:Label id="lblerr" runat="server"></asp:Label>
    </p>
    </form>
    </body>
    </html>

    File vb.net (code behind):

    Imports Microsoft.VisualBasic
    Imports System
    Imports System.Web
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Data
    Imports System.Data.OleDb


    Public Class Selezione
    Inherits Page

    Protected withevents lstclienti as DropDownList
    Protected txtid as TextBox
    Protected txtnome as TextBox
    Protected txtcognome as TextBox
    Protected txtindirizzo as TextBox
    Protected txtcitta as TextBox
    Protected lblerr as Label
    Protected withevents cmdupdate as Button
    Protected withevents cmddelete as Button

    Private Sub Page_Load (sender as Object, e as EventArgs) Handles MyBase.Load

    if Me.IsPostBack = False Then
    Compilazione()
    End if

    End Sub

    Private function Compilazione()

    lstclienti.Items.Clear()


    Dim conn as New OleDbConnection()
    conn.ConnectionString="Provider=Microsoft.Jet.OLED B.4.0;" & "Data Source=f:/Esercizi_ASPNET/Database/clienti.mdb"

    Dim cmd as New OleDbCommand()
    cmd.Connection = conn
    cmd.CommandText="SELECT NOME, COGNOME, ID FROM clienti"

    Dim reader as OleDbDataReader

    Try

    conn.Open()
    reader=cmd.ExecuteReader()

    Do While reader.Read()

    Dim Item as New ListItem()
    Item.Text=reader("NOME") & ", " & reader("COGNOME")
    Item.Value=reader("ID")
    lstclienti.Items.Add(Item)

    Loop

    reader.Close()

    Catch err as Exception

    lblerr.Text = "ATTENZIONE: Errore nella lettura dei dati. "
    lblerr.Text &= err.Message

    Finally

    if (Not conn is Nothing) Then
    conn.close()
    end if

    End try
    End function

    Private sub lstclienti_SelectedIndexChanged (sender as Object, e as EventArgs) Handles lstclienti.SelectedIndexChanged

    Dim conn as New OleDbConnection()
    conn.ConnectionString="Provider=Microsoft.Jet.OLED B.4.0;" & "Data Source=f:/Esercizi_ASPNET/Database/clienti.mdb"

    Dim cmd as New OleDbCommand()
    cmd.Connection = conn
    cmd.CommandText="SELECT * FROM clienti WHERE ID=" & lstClienti.SelectedItem.Value & ""

    Dim reader as OleDbDataReader

    Try

    conn.Open()
    reader=cmd.ExecuteReader()

    reader.Read()

    txtid.Text = reader("ID")
    txtnome.Text = reader("NOME")
    txtcognome.Text = reader("COGNOME")
    txtindirizzo.Text = reader("INDIRIZZO")
    txtcitta.Text = reader("CITTA")

    reader.Close()

    Catch err as Exception

    lblerr.Text = "ATTENZIONE: Errore nella visualizzazione dei dati. "
    lblerr.Text &= err.Message

    Finally

    if (Not conn is Nothing) Then
    conn.close()
    end if

    End try

    End Sub

    Private sub cmdupdate_Click (sender as object, e as EventArgs) Handles cmdupdate.Click

    Dim UpdateSQL as String
    UpdateSQL = "UPDATE clienti SET NOME='txtnome.Text', COGNOME='txtcognome.Text', INDIRIZZO='txtindirizzo.Text', CITTA='txtcitta.Text' WHERE ID='lstclienti.SelectedItem.Value'"
    ' UpdateSQL &= "ID='" & txtid.Text & "', "
    'UpdateSQL &= "NOME='" & txtnome.Text & "', "
    'UpdateSQL &= "COGNOME='" & txtcognome.Text & "', "
    'UpdateSQL &= "INDIRIZZO='" & txtindirizzo.Text & "', "
    'UpdateSQL &= "CITTA='" & txtcitta.Text & "', "
    'UpdateSQL &= "WHERE ID='" & lstclienti.SelectedItem.Value & "'"


    Dim conn as New OleDbConnection()
    conn.ConnectionString="Provider=Microsoft.Jet.OLED B.4.0;" & "Data Source=f:/Esercizi_ASPNET/Database/clienti.mdb"
    dim cmd as New OleDbCommand(UpdateSQL, conn)

    Try

    conn.Open()
    dim updated as Integer
    updated=cmd.ExecuteNonQuery
    lblerr.Text= updated.ToString() & " records aggiornati."

    Catch err as Exception

    lblerr.Text = "ATTENZIONE: Errore nell'aggiornamento dei dati. "
    lblerr.Text &= err.Message

    Finally

    if (Not conn is Nothing) Then
    conn.close()
    end if

    End try

    End Sub
    End Class

    Quando avvio il file .aspx, seleziono all'interno della combobox il dato e lo vado a modificare. Mi rileva un errore di sintassi all'interno del seguente codice:

    Private sub cmdupdate_Click (sender as object, e as EventArgs) Handles cmdupdate.Click

    Dim UpdateSQL as String
    UpdateSQL = "UPDATE clienti SET NOME='txtnome.Text', COGNOME='txtcognome.Text', INDIRIZZO='txtindirizzo.Text', CITTA='txtcitta.Text' WHERE ID='lstclienti.SelectedItem.Value'"
    ' UpdateSQL &= "ID='" & txtid.Text & "', "
    'UpdateSQL &= "NOME='" & txtnome.Text & "', "
    'UpdateSQL &= "COGNOME='" & txtcognome.Text & "', "
    'UpdateSQL &= "INDIRIZZO='" & txtindirizzo.Text & "', "
    'UpdateSQL &= "CITTA='" & txtcitta.Text & "', "
    'UpdateSQL &= "WHERE ID='" & lstclienti.SelectedItem.Value & "'"

    Vi prego provatelo con calma e fatemi sapere.

    Grazie in anticipo

  7. #7

    :metallica

    :metallica
    ma scusa, non è giusto quello che ha detto innovatel??

  8. #8

    sopra

    no perchè l'avevo scritto io!!

  9. #9
    Utente di HTML.it L'avatar di Ottavio
    Registrato dal
    Jul 2000
    Messaggi
    286
    lui ha aggiunto la virgola
    tra i campi id e nome:
    updateSQL& = " ID='" & txtid.Text & "' , "
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    Era un mondo adulto, si sbagliava da professionisti....
    <P.Conte>
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482

    Re: ..

    Originariamente inviato da g.basurto
    innovatel, pensavo che mi avresti dato un aiuto !! Cerca di non postare inutilmente.
    Grazie
    Innovatel ti ha dato quella che forse è la soluzione al tuo problema, e anche se fosse stata sbagliata non vedo perchè dovresti rispondergli in quel modo.

    Passo e chiudo.

    Hey hey, my my Rock and roll can never die!

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.