Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181

    [VB SQL Server] Esecuzione Query

    Ciao a tutti,

    sto implementando un piccolo programma che si interfacci con un database SQL Server 2008
    ed adesso, dopo aver effettuato la connessioneal db, mi trovo a dover fare la prima query
    che risulta essere una select

    codice:
    strsql = "select max(number)"
    strsql = strsql & "from dbo.Documents"
    strsql = strsql & "where ((projectName = '" & proj & "') AND "
    strsql = strsql & "(documentType = '" & docType & "') AND "
    strsql = strsql & "(date = '" & dat & "'))"
    objcomm = New OleDbCommand(strsql, FormGen.objconn)
    Try
          ris = objcomm.ExecuteScalar
          If ris = 1 Then
              MsgBox("Query OK")
          End If
    Catch es As Exception
              MsgBox("Errore")
    End Try
    Il codice appena postato mi ritorna sempre il messaggio "Errore" qualcuno può aiutarmi a capire come mai, mi sembra che la query sia scritta bene.

    Grazie in anticipo

  2. #2

    Re: [VB SQL Server] Esecuzione Query

    Originariamente inviato da gcadmin
    ....
    Il codice appena postato mi ritorna sempre il messaggio "Errore" qualcuno può aiutarmi a capire come mai, mi sembra che la query sia scritta bene.
    il messaggio contenuto nella exception fornisce sicuramente informazioni
    più illiminanti del sul tipo di errore occorso.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181
    Infatti, grazie per il suggerimento

    ho modificato il catch codice come segue fermo restando la query come postato nel precedente post

    codice:
    Catch es As Exception
              errorMess = es.Message
              MsgBox(errorMess)

    E mi viene visualizzato il seguente errore "Incorrect syntax near '='"

    Secondo voi da cosa dipende?

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    hai scritto:

    dopo aver effettuato la connessioneal db.
    Quindi presumo che tu abbia omesso intenzionalmente le righe nel codice che hai postato relative alla connessione?

    Ti consiglio, anche se non ha a che fare con l'errore di cui parli, di strutturare sempre una stringa concatenando gli elementi sulla stessa riga, ovvero:

    codice:
    Dim myString as string
    myString = "mario" & " " & "è sposato con" & " " & "maria"
    e non con:

    codice:
    Dim myString as string
    myString = "mario" 
    myString &= " "
    myString &= "è sposato con"
    myString &= " "
    myString &="maria"
    Venendo al tuo problema non hai specificato il tipo di eccezione che si verifica.

    Guardando la tua query vedo qualche parentesi di troppo:

    codice:
    strsql = "SELECT max(number) from dbo.Documents WHERE projectName = '" & proj & "' AND documentType = '" & docType & "' AND date = '" & dat & "'
    I parametri sono nel formato corretto i campi sono corretti?
    Sbagliare è umano, perseverare è diabolico.

  5. #5
    Originariamente inviato da gcadmin
    .....
    mi viene visualizzato il seguente errore "Incorrect syntax near '='"

    Secondo voi da cosa dipende?

    Grazie
    mostra la query risultante ( cioè quello che contiene la variabile strsql)

    P.S.
    puoi provare ad eseguirla anche tu nel SSMS e probabilmente
    ti renderei conto da solo del problema

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    mi viene visualizzato il seguente errore "Incorrect syntax near '='"

    Secondo voi da cosa dipende?

    Vuol dire che la sintassi della query è sbagliata.
    Sbagliare è umano, perseverare è diabolico.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181
    Per Pirelli72

    1 si ho intenzionalmente omesso le righe di codice relative alla connessione al db che dopo vari test funziona correttamente

    2 Grazie per il consiglio sulle stringhe

    3 Provo a strutturare la query senza parentesi come da suggerimento

    4 I campi sono corretti

    Grazie


    Per SSpintux
    Per quanto riguarda la visualizzazione della query l'ho stampata in msgbox e risulta corretta, infatti la stessa query l'ho provata in SQL Server e funziona correttamente


    Ho provato a mettere i vostri consigli in pratica ma il risultato è sempre lo stesso

    Sono in attesa di un vostro ulteriore cortese suggerimento

  8. #8
    Originariamente inviato da gcadmin
    .....
    Per quanto riguarda la visualizzazione della query l'ho stampata in msgbox e risulta corretta, infatti la stessa query l'ho provata in SQL Server e funziona correttamente
    mi sembra strano ...mostra la query

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    nfatti la stessa query l'ho provata in SQL Server e funziona correttamente
    In che senso scusa ?
    Sbagliare è umano, perseverare è diabolico.

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181

    [VB SQL Server] gestire valori ritornati da query

    Ho Capito l'errore visualizzando la query ritornata

    L'errore era che non lasciavo uno spazio tra i campi della select e la parola riservata FORM e tra la tabella della form e la parola riservata WHERE

    Grazie a tutti.

    Adesso però ho un altro problema come faccio a gestire il valore o i valori ritornati dalla query? Nel mio caso voglio poter incrementare dall'applicativo il valore massimo che la query mi ritorna

    Grazie in anticipo

    Riposto il codice corretto

    codice:
    strsql = "select max(number) from dbo.Documents where ((projectName = '" & proj & "') AND (documentType = '" & docType & "') AND (date = '" & dat & "'))"
    MsgBox(strsql)
    objcomm = New OleDbCommand(strsql, FormGen.objconn)
    Try
       ris = objcomm.ExecuteNonQuery
       If ris = 1 Then
          MsgBox("Query OK")
       End If
    Catch es As Exception
       errorMess = es.Message
       MsgBox(errorMess)
    End Try

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.