Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    stored procedure sql server

    Come avete capito dal mio precedente post mi sto cimentando nelle sp di sql server...

    Se io scrivo:
    CREATE PROCEDURE ClientiSelProc
    (
    @Cognome nvarchar(50)
    )
    AS
    SELECT cod_Cliente, (Cognome + ' ' + Nome) As Nominativo
    FROM Clienti
    WHERE Cognome LIKE @Cognome + '%'
    ORDER BY Cognome
    GO

    e poi nel codebehind...
    Cmd = New SqlCommand("ClientiSelProc", FConn)
    P = Cmd.Parameters.Add("@Cognome", Cognome)
    Mi dice: Incorrect syntax near 'ClientiSelProc'.

    dove sbaglio? LIKE credo sia corretto usato così (controllato sulla guida da voi suggerita nel post precedente)

    Grazie Elisa

  2. #2
    Prima di tutto dove ti da errore? In sql o quando vai in esecuzione?

    Se è quando vai in esecuzione prova a scrivere

    Cmd = New SqlCommand("ClientiSelProc", FConn)
    Cmd.CommandType = CommandType.StoredProcedure
    Dim p As New SqlParameter("", SqlDbType.NVarChar) 'o il tipo che ti interessa
    p.Value = ""
    Cmd.Parameters.Add(p)

    Fammi sapere
    Ciao
    Kalman
    Kalman

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    no dunque, mi da errore in esecuzione.
    Ho provato a definire il tipo di dato e in questo caso nel punto
    Cmd.Parameters.Add(P)

    mi dice SqlParameterCollection contiene già SqlParameter con ParameterName '@Cognome'.

    Non ho modificato nulla nella procedura che ho riportato nel post precedente.

    (questa parte di codice funzionava bene quando avevo sql da codice ora che sto tentando di mettere tutto nelle stored procedure non mi funziona + niente... )

  4. #4
    Prova ad utilizzare solo il codice che ti ho passato io.
    E' chiaro che se li mischi succedono disastri. Aggiungi due volte lo stesso parametro!

    Ciao
    Kalman
    Kalman

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Provato così:
    P = New SqlParameter("@Cognome", SqlDbType.NVarChar)
    P.Value = Cognome
    Cmd.Parameters.Add(P)
    e mi restituisce appunto l'errore Incorrect syntax near 'ClientiSelProc'.

    Ho notato che tu non hai specificato il nome del parametro ("", SqlDbType.NVarChar) a parte che mi da errore comunque perchè mi dice che già esiste parametro1 (dove lo vede non lo so!), comunque si può non specificarlo?

  6. #6
    Puoi mandare il pezzo di codice "as is" in queso momento?

    Non avevo messo il nome del parametro perchè.. me lo sono dimenticato ;-)))

    Ciao
    Kalman
    Kalman

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    :-) che pezzo di codice ti devo mandare? non ho capito!

    la stored:
    CREATE PROCEDURE ClientiSelProc
    (
    @Cognome nvarchar(50)
    )
    AS
    SELECT cod_Cliente, (Cognome + ' ' + Nome) As Nominativo
    FROM Clienti
    WHERE Cognome LIKE @Cognome + '%'
    ORDER BY Cognome
    GO

    codebehind:
    Cmd = New SqlCommand("ClientiSelProc", FConn)
    P = New SqlParameter("@Cognome", SqlDbType.NVarChar)
    P.Value = Cognome
    Cmd.Parameters.Add(P)
    Cmd.Connection.Open()
    Dr = Cmd.ExecuteReader
    lbListaClienti.DataSource = Dr
    lbListaClienti.DataBind()
    Dr.Close()
    Cmd.Connection.Close()

  8. #8
    Mi sono scritto e testato questa funzione:


    Function getTable(Cognome as string) As DataTable
    Dim cnn As New SqlConnection("Data Source=localhost;Initial Catalog=northwind;User ID=sa;Password=;Persist Security Info=True")
    Dim cmd As New SqlCommand("ClientiSelProc", cnn)
    cmd.CommandType = CommandType.StoredProcedure
    Dim p As New SqlParameter("@Cognome", SqlDbType.NVarChar)
    p.Value = Cognome
    cmd.Parameters.Add(p)
    Dim da As New SqlDataAdapter
    Dim dt As New DataTable("Pippo")
    cnn.Open()
    da.SelectCommand = cmd
    da.Fill(dt)
    cnn.Close()
    Return dt
    End Function


    Fammi sapere
    Ciao
    Kalman
    Kalman

  9. #9
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da elisa_rm74
    :-) che pezzo di codice ti devo mandare? non ho capito!

    la stored:
    CREATE PROCEDURE ClientiSelProc
    (
    @Cognome nvarchar(50)
    )
    AS
    SELECT cod_Cliente, (Cognome + ' ' + Nome) As Nominativo
    FROM Clienti
    WHERE Cognome LIKE @Cognome + '%'
    ORDER BY Cognome
    GO

    codebehind:
    Cmd = New SqlCommand("ClientiSelProc", FConn)
    P = New SqlParameter("@Cognome", SqlDbType.NVarChar)
    P.Value = Cognome
    Cmd.Parameters.Add(P)
    Cmd.Connection.Open()
    Dr = Cmd.ExecuteReader
    lbListaClienti.DataSource = Dr
    lbListaClienti.DataBind()
    Dr.Close()
    Cmd.Connection.Close()
    metti begin e end

  10. #10
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    In questo modo:
    la stored:
    CREATE PROCEDURE ClientiSelProc
    (
    @Cognome nvarchar(50)
    )
    AS
    BEGIN
    SELECT cod_Cliente, (Cognome + ' ' + Nome) As Nominativo
    FROM Clienti
    WHERE Cognome LIKE @Cognome + '%'
    ORDER BY Cognome
    END
    GO

    DI NUOVO CIAO

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.