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

    Problemi inserimento SQL

    Salve,
    Avrei una domandina..
    Dovrei fare un banale inserimento, ma mi trovo in difficoltà
    La query che fornisco al sistema per l'inserimento è -vi do un output-
    <sql>
    INSERT INTO Links (LinkTitle, LinkUTL, LinkDescription, CategoryID, LinkDateAdded, Email, Live) VALUES ('Titolo', 'http://www.cippa.it', 'Descriz', 109, #23/12/2005#, NULL, 1)
    </sql>

    Ottenuta ed inviata a MySQL in questo modo:
    <code>
    Set RSj=Server.CreateObject("ADODB.RecordSet")
    'RSj.Open "Select * From Links", dbc, adOpenDynamic, adLockPessimistic, adCMDText

    SQL="INSERT INTO Links (LinkTitle, LinkUTL, LinkDescription, CategoryID, LinkDateAdded, Email, Live) VALUES ('" & txtLinkTitle & "', '" & txtLinkURL & "', '" & txtLinkDescription & "', " & txtLinkCategoryID & ", #" & txtLinkDateAdded & "#, "
    If Len(txtEmail)>5 Then
    SQL=SQL & "'" & txtEmail & "', "
    Else
    SQL=SQL & " NULL, "
    End If
    SQL=SQL& txtLive & ")"
    Response.Write(SQL)
    dbc.execute(SQL) 'notare che la connessione è già aperta
    </code>

    Avete suggerimenti?

    Riky

  2. #2
    Ma ti dà errori?

    Dopo:

    codice:
    Response.Write(SQL)
    fai:

    codice:
    Response.End
    Avrai a video la query.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    La SQL a video è
    INSERT INTO Links (LinkTitle, LinkUTL, LinkDescription, CategoryID, LinkDateAdded, Email, Live) VALUES ('Titolo', 'http://www.cippa.it', 'Descriz', 109, #23/12/2005#, NULL, 1)

    L'errore, dopo la SQL a video (quella indicata) è:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
    [TCX][MyODBC]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    /directory_scientifica/index1.asp, line 560

    Dove la linea 560 si riferisce a
    dbc.execute(SQL)

  4. #4
    Questo non ti serve

    codice:
    Set RSj=Server.CreateObject("ADODB.RecordSet") 
    RSj.Open "Select * From Links", dbc, adOpenDynamic, adLockPessimistic, adCMDText

  5. #5
    Originariamente inviato da Dirk Pitt
    Questo non ti serve

    codice:
    Set RSj=Server.CreateObject("ADODB.RecordSet") 
    RSj.Open "Select * From Links", dbc, adOpenDynamic, adLockPessimistic, adCMDText
    Tolto..

    Ma la SQL mi sembra scritta bene... no? Forse non gli piace quel NULL rivolto al campo Email?
    Io ho già provato a togliere dalla SQL, il riferimento a quel campo... ma l'errore è sempre lo stesso.

  6. #6
    Invece di passargli come valore NULL, prova a cambiare il valore, es. pippo o pluto, giusto per fare una prova.

  7. #7
    controlla i nomi dei campi e la corrispondenza dei tipi

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non è il NULLL il problema o comunque non solo quello.
    Le date a differenza di Access si passano con l'apice singolo, come in SQL Server, non con il #.

    Roby

  9. #9
    Questa sintassi sql funziona

    codice:
    sqlstring = "INSERT INTO tabella (nome_camo1, nome_campo2)Values('" & nome_campo1 & "', '" & nome_campo2 & "');"
    dbc.execute sqlstring

  10. #10
    Mmmh...
    ho provato con
    INSERT INTO Links (LinkTitle, LinkUTL, LinkDescription, CategoryID, LinkDateAdded, Email, Live) VALUES ('Titolo', 'http://www.cippa.it', 'Descriz', 109, #23/12/2005#, 'riccardomolecularlab.it', 1)

    Ma l'errore è sempre lo stesso..

    Mi conviene dare un'occhiata alla struttura del database? Case dei campi, etc? Ora lo faccio..

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.