Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: Errore di sintassi...

  1. #1
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908

    Errore di sintassi...

    Sto usando il seguente codice per un esercizio...


    codice:
    <%@Import Namespace="System.Data"%>
    <%@Import Namespace="System.Data.OleDb"%>
    <%@ Page Language="vb"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    	<HEAD>
    		<title>Esercitazione</title>
    		<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
    		<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
    		<meta name="vs_defaultClientScript" content="JavaScript">
    		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    		<script runat="server">
    		Sub Page_Load(obj as object, e as EventArgs)
    		Dim conn as New oleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;" & _
    		"Data Source=c:\Dev\Data\banking.mdb")
    		Dim ds as new DataSet("MyDataSet")
    		Dim objCmd as new OleDbDataAdapter("SELECT * FROM tblUsers WHERE UserID < 10", Conn)
    		objCmd.Fill(ds, "tblUsers")
            ds.Tables("tblUsers").Rows(2)(3) = "ASPVille"
            Dim dr as DataRow = ds.Tables("tblUsers").NewRow()
            dr(0) = "Greg"
            dr(1) = "Smith"
            dr(2) = "434 Maple Apt B"
            dr(3) = "Minneapolis"
            dr(4) = "MN"
            dr(5) = "12588"
            dr(6) = "5189876259"
            ds.Tables("tblUsers").Rows.Add(dr)
            objCmd.UpdateCommand = new OleDbCommand
            objCmd.UpdateCommand.CommandText = "Update tblUsers " & _
            "SET City='ASPVille' WHERE UserID=3"
            objCmd.UpdateCommand.Connection = Conn
            objCmd.InsertCommand = new OleDbCommand
            objCmd.InsertCommand.CommandText="Insert INTO " & _
            "tblUsers (Firstname, Lastname, Address, City, " & _
            "State, ZIP, Phone) VALUES ( 'Greg', 'Smith', " & _
            "'434 Maple Apt B', 'Minneapolis', 'MN', '12588', " & _
            "'5189876259'"
            objCmd.InsertCommand.Connection = Conn
            End Sub
    		</script>
    	</HEAD>
    	<body MS_POSITIONING="GridLayout">
    	
    		<form id="Form1" method="post" runat="server">
    			
    		</form>
    	</body>
    </HTML>
    Quando lo mando in esecuzione, mi viene fuori il seguente errore:

    Errore server nell'applicazione '/DataGrid2'.
    --------------------------------------------------------------------------------

    Errore di sintassi nell'istruzione INSERT INTO.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Data.OleDb.OleDbException: Errore di sintassi nell'istruzione INSERT INTO.

    Errore nel codice sorgente:


    Riga 38: "'5189876259'"
    Riga 39: objCmd.InsertCommand.Connection = Conn
    Riga 40: objCmd.Update(ds, "tblUsers")
    Riga 41: End Sub
    Riga 42: </script>


    A me sembra tutto corretto... non capisco!!!
    Qualcuno mi suggerisce qualcosa?
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  2. #2
    di solito questo errore si presenta quando il nome di uno dei campi del database è una parola riservata di access(a me era successo con "password")
    non so quale sia, prova a cambiarli
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    "'5189876259')"

    manca la parentesi finale

  4. #4
    prova a rinominare la colonna "state"
    credo che sia quella
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  5. #5
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    L'ho messa ma il problema permane.

    Originariamente inviato da sms
    "'5189876259')"

    manca la parentesi finale
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  6. #6
    Originariamente inviato da dwb
    L'ho messa ma il problema permane.
    allora rinomina la colonna "state" come ti ho detto sopra
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  7. #7
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Fatto, l'ho rinominata in "Stato" e adattato naturalmente la query.. ma non cambia nulla!

    Originariamente inviato da cicciociccioxxx
    prova a rinominare la colonna "state"
    credo che sia quella
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  8. #8
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Ecco il codice dopo i suggerimenti, ma l'errore è lo stesso:

    codice:
    <script runat="server">
    		Sub Page_Load(obj as object, e as EventArgs)
    		Dim conn as New oleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;" & _
    		"Data Source=c:\Dev\Data\banking.mdb")
    		Dim ds as new DataSet("MyDataSet")
    		Dim objCmd as new OleDbDataAdapter("SELECT * FROM tblUsers WHERE UserID < 10", Conn)
    		objCmd.Fill(ds, "tblUsers")
            ds.Tables("tblUsers").Rows(2)(3) = "ASPVille"
            Dim dr as DataRow = ds.Tables("tblUsers").NewRow()
            dr(0) = "Greg"
            dr(1) = "Smith"
            dr(2) = "434 Maple Apt B"
            dr(3) = "Minneapolis"
            dr(4) = "MN"
            dr(5) = "12588"
            dr(6) = "5189876259"
            ds.Tables("tblUsers").Rows.Add(dr)
            objCmd.UpdateCommand = new OleDbCommand
            objCmd.UpdateCommand.CommandText = "Update tblUsers " & _
            "SET City='ASPVille' WHERE UserID=3"
            objCmd.UpdateCommand.Connection = Conn
            objCmd.InsertCommand = new OleDbCommand
            objCmd.InsertCommand.CommandText="Insert INTO " & _
            "tblUsers (FirstName, Lastname, Address, City, " & _
            "Stato, ZIP, Phone) VALUES ( 'Greg', 'Smith', " & _
            "'434 Maple Apt B', 'Minneapolis', 'MN', '12588', " & _
            "'5189876259'"
            objCmd.InsertCommand.Connection = Conn
            End Sub
    		</script>
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  9. #9
    credo che anche address sia una proprietà di access
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  10. #10
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    E che cacchio!
    Ora provo..

    Originariamente inviato da cicciociccioxxx
    credo che anche address sia una proprietà di access
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

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.