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

    Input Store procedure su Data Set

    Salve io ho questo :

    Dim DSet As DataSet = New DataSet
    Dim MyConnection As SqlConnection = New SqlConnection
    Dim SqlStore As String
    Dim StrConn As String
    Dim MyCommand As SqlDataAdapter
    Dim MyCmdInput As SqlCommand
    Dim ValoreImput As SqlParameter
    Dim quanti As Integer


    'Assegno valori alle variabili
    SqlStore = "SP_OrarioIstruttori_CorsiNuoto"
    StrConn = (ConfigurationSettings.AppSettings("conn"))
    'Apro la connessione
    MyConnection.ConnectionString = StrConn
    MyConnection.Open()


    'Assengo un valore di input alla store Procudure


    MyCommand = New SqlDataAdapter(SqlStore, MyConnection)
    Dim myParm As SqlParameter = MyCommand.InsertCommand.Parameters.Add("@ID_Istrut tore", SqlDbType.TinyInt, 1)
    myParm.Value = 1
    myParm.Direction = ParameterDirection.Input

    MyCommand.Fill(DSet, "Tabella1")
    quanti = DSet.Tables("Tabella1").Rows.Count.ToString()

    Dim source As DataView = DSet.Tables("Tabella1").DefaultView
    DataGridOrario.DataSource = source

    DataGridOrario.DataBind()
    MyConnection.Close()


    Questa sta dentro a un funzione

    comunque ,vorrei sapere come fare a passare un valore alla mia store Procedure, la quale mi chiede il valore di ID_Istruttore,ma nn so come passarlo, e questa store poi deve andar a popolarmi il mio dataSet
    Mi potete aiutare sapere è il mio primo dataSet con Store

  2. #2
    Mi ero dimenticato di dirvi che mi da questo errore

    Riferimento a un oggetto non impostato su un'istanza di oggetto
    Dim myParm As SqlParameter = MyCommand.InsertCommand.Parameters.Add("@ID_Istrut tore", SqlDbType.TinyInt, 1, "ID_Istruttore")

    e mi segna questa riga...nn capisco

  3. #3

    Re: Input Store procedure su Data Set

    un esempio
    codice:
    Dim MyDap As New SqlDataAdapter("nome_sp", "stringaconnessione")
            MyDap.SelectCommand.CommandType = CommandType.StoredProcedure
            MyDap.SelectCommand.Parameters.Add("@nomeparametro", SqlDbType.Int).Value = 1
    aggiungo che la connection visto che usi un dataadapter non e' necessario aprirla e chiuderla esplicitamente in quanto se ne occupa automaticamente il dataadapter.
    Saluti a tutti
    Riccardo

  4. #4
    Ho Provato a far quello che mi dice te , ma da sempre questo errore,
    come mai???Qualcuno mi sa dire il perchè


    Riferimento a un oggetto non impostato su un'istanza di oggetto
    Dim myParm As SqlParameter = MyCommand.InsertCommand.Parameters.Add("@ID_Istrut tore", SqlDbType.TinyInt, 1, "ID_Istruttore")

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    47
    Credo che dovresti inizializzarlo con il new

    Dim myParm As New SqlParameter ("@ID_Istruttore", SqlDbType.TinyInt, 1, "ID_Istruttore")
    Mycommand.parameters.add(myparam)

    Ciao.
    Guido

  6. #6
    scusate ..ho cliccato 2 volte

  7. #7
    Prima cosa volevo diriti Grazie alla fine ci son riuscito , grazie al tuo aiuto..ma ho un altro problema sempre sulla Stored Procedure

    Ora il mio Codice Funzionante è questo:
    Function binddata() As DataSet

    'Dichiaro Le Variabili
    Dim SqlStore As String
    Dim StrConn As String
    Dim MyCommand As SqlDataAdapter

    'Creo un oggetto per utilizzare la classe
    Dim DSet As DataSet = New DataSet
    Dim MyConnection As SqlConnection = New SqlConnection


    'Assegno valori alle variabili
    SqlStore = "SP_OrarioIstruttori_CorsiNuoto"
    StrConn = (ConfigurationSettings.AppSettings("conn"))
    'Apro la connessione
    MyConnection.ConnectionString = StrConn


    MyCommand = New SqlDataAdapter(SqlStore, MyConnection)
    MyCommand.SelectCommand.CommandType = CommandType.StoredProcedure

    'Assengo il valore di ID_Istruttore alla variabile @ID_Istruttore
    MyCommand.SelectCommand.Parameters.Add("@ID_Istrut tore", SqlDbType.Int).Value = 1

    MyCommand.Fill(DSet, "Tabella1")
    DataGridOrario.DataSource = DSet.Tables("Tabella1").DefaultView
    DataGridOrario.DataBind()
    MyConnection.Close()
    End Function

    Ora Questa mia stored Procedure alla fine della sua procedure richiama un altra stored.
    Lo Provato con Query Analyzer e mi funziona ma per farti capire questo ti fo un esempio


    1.Prima Stored (Mi da gli orari degli istruttori del corso di nuoto)

    La seconda store mi da se esistono i corsi sempre dello stesso istruttore di Danza
    Eccome come mi esce la mia Store con Query Analyzer

    1 Store

    Corso: Delfino Livello:a1

    Corso: Rana Livello:C1

    ----------
    2 Store

    Corso: Danza Livello:2

    Corso: Hip Hop Livello:5


    All'interno della prima store richiamo la 2 cosi

    execute SP_OrarioIstruttori_AltriCorsi @ID_Istruttore

    .
    Ora c'è il problema che il mio codice asp.net mi visualizza solo la prima stored e nn la seconda...?????
    Come faccio?? ad ottenere lo stesso risultato del Query Analyzer?

    Ho provato cosi

    execute SP_OrarioIstruttori_AltriCorsi
    per vedere se mi dava qualche errore perchè nn passavo il parametro
    @ID_Istruttore...e infatti mi dice che manca il valore.
    ma allora se la stored la richiama come mai asp nn la vede??
    e mi sputa fuori solo la prima???


    Grazie ciaoz

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    47
    Dunque... non sono sicuro di aver capito alla perfezione ma:

    Se con il Query analyzer ti restituisce in pratica un doppio risultato, lo fa anche in ASp.NET.

    Quindi credo che con questo comando

    MyCommand.Fill(DSet, "Tabella1")

    tu metti nel dataset due tabelle.
    Ora non so come lui chiama la seconda.
    Ma intanto prova a vedere se in effetti le tabelle sono due facendoti il response.write da qualche parte di
    Dset.Tables.count

    Se sono due, puoi ricavarti il nome della prima in questo modo:
    response.write Dset.Tables(0).TableName
    e della seconda così
    response.write Dset.Tables(1).TableName

    Quindi puoi usarle poi come vuoi.

    Spero di aver centrato il problema...
    ...e soprattutto la soluzione ;-)

  9. #9
    Originariamente inviato da gtommy
    Dunque... non sono sicuro di aver capito alla perfezione ma:

    Se con il Query analyzer ti restituisce in pratica un doppio risultato, lo fa anche in ASp.NET.
    Ecco il problema che in Asp.net nella mia pagina mi da come risultato solo la prima stored Procedure .e nn la seconda

    se istuttore fa solo danza ad esempio io dovrei aver in asp.net nella pagina un datagrid popolato dalla stored Procedure 2 che è chiamata dalla 1
    E Invece nn mi da nessun risultato, ho provato per sino con un istruttore che fa tutte e due , e dovrei avere 2 tabelle come in query, ma invece la pagina asp.net me ne da solo 1 che è quella riferita hai corsi di nuoto(1 stored)

    xchè???

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    47
    io comunque intanto direi..

    Ma intanto prova a vedere se in effetti le tabelle sono due facendoti il
    response.write di Dset.Tables.count

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.