Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Query insert into in sql server

    Ciao, con la ricerca ho trovato questo codice che vorrei far funzionare per l'inserimento tramite query dei dati in un db sql server.

    codice:
    dati = split(valoreform,",")
    for i = 0 to Ubound(dati)
     sql = "insert into tabella (campouno, campodue, campotre, campoquattro) VALUES ("
     dati1 = split(dati(i),"-") 
     for j = 0 to Ubound(dati1)
      if j = 0 then
       sql = sql & trim(dati1(j))
      else
       sql = sql & ",'" & Replace(trim(dati1(j)),"'","''") & "'"
      end if
    next 
     sql = sql & ",'"&campouno1&"', "&campouno0&",'"&campotre1&"',"&campoquattro0&")"
     cn.execute sql
    next
    il problema è che continua a restituire questo errore:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC SQL Server Driver][SQL Server]There are fewer columns in the INSERT statement than values specified in the

    VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.

    /pagina.asp, line 378
    Ma il numero dei campi sembra essere uguale, a meno che non succede qualcosa nel ciclo...

    Sapete aiutarmi? Grazie
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    resposne.write sql
    response.end

    invece di cn.execute sql

    e posta il risultato
    Tutti vogliono parlare, nessuno sa ascoltare.

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    ecco:
    codice:
    insert into tabella (campouno, campodue, campotre, campoquattro) VALUES (1,'DV','MT','2','NC','MT','Obsoleto')
    perchè dal form giungono questi valori:
    codice:
    1
    Obsoleto
    1-DV-MT-2-NC-MT
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  4. #4
    Semplicemente stai cercando di scrivere 7 valori in 4 campi.
    Controlla meglio le concatenazioni che fai per definire la query, in particolare l'else all'interno del ciclo for... E' giusto ?

  5. #5
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    vedi da te che gli indichi 4 campi e ne vuoi inserire 7
    Tutti vogliono parlare, nessuno sa ascoltare.

  6. #6
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    forse mi spiego male... non voglio inserire 7 valori in 4 campi...
    vorrei inserire due record, cioè:

    codice:
    recordUno:
    campouno = 1
    campodue = DV
    campotre = MT
    campoquattro = obsoleto
    
    recordDue:
    campouno = 2
    campodue = NC
    campotre = MT
    campoquattro = obsoleto
    Mi spiego?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    dal form ti arriva questo
    codice:
    1
    Obsoleto
    1-DV-MT-2-NC-MT
    ma come ti arriva? con ritorni a capo pure?
    e tu vuoi inserire
    codice:
    recordUno:
    campouno = 1
    campodue = DV
    campotre = MT
    campoquattro = obsoleto
    
    recordDue:
    campouno = 2
    campodue = NC
    campotre = MT
    campoquattro = obsoleto
    in base a cosa? :master:

  8. #8
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    grazie willybit per aver risposto... da un form seleziono questi valori:
    codice:
    1-DV-MT-2-NC-MT
    l'inizio di ogni "parte" è il numero; quindi 1-DV-MT è un record, 2-NC-MT un altro record e via dicendo...

    con quello split l'intenzione era che si scrivessero nel db con la sql due record del tipo:
    codice:
    recordUno:
    campouno = 1
    campodue = DV
    campotre = MT
    
    recordDue:
    campouno = 2
    campodue = NC
    campotre = MT
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    scusa ma oggi sono un po' incasinato....
    se sei sicuto che ti arriva sempre numero-sigla-sigla-numero-sigla-sigla... cioè sempre un numero e 2 sigle separati da - per nvolte
    codice:
    str = "1-DV-MT-2-NC-MT"
    
    set re = new RegExp
    re.Pattern="(\d+)-([^-]+)-([^-]+)"
    re.Global=true
    
    Response.Write str & "<hr>" & re.Pattern & "<hr>"
    set ris = re.Execute(str)
    for each rr in ris
    	sql = "INSERT INTO NomeTabella (campo1, campo2, campo3) VALUES ("
    	sql = sql & rr.SubMatches(0) & ",'" & rr.SubMatches(1) & "','" & rr.SubMatches(2) & "')"
    	Response.Write sql & "
    "
    next
    se ci sono problemi ci sentiamo domani ora devo scappare

  10. #10
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Va benissimo!!!
    Grazie, ma se devo inserire altri campi?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

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.