Udostępnij za pośrednictwem


Porady: wykonywanie procedury przechowywanej, która zwraca wiersze

Wykonanie procedury przechowywanej, zwraca wiersz, można uruchomić kwerendę TableAdapter, która jest skonfigurowana do uruchamiania procedury przechowywanej (na przykład, CustomersTableAdapter.Fill(CustomersDataTable)).

Jeśli aplikacja nie używa TableAdapters, call ExecuteReader metody obiektu polecenia, ustawienie jej CommandType właściwość, aby StoredProcedure.("Obiekt polecenia" odnosi się do określonego polecenia dla .NET Framework danych dostawcy , który korzysta z aplikacji.Na przykład, jeśli aplikacja korzysta.NET Framework dostawcy danych dla programu SQL Server, byłoby obiektu command SqlCommand.)

Następujące przykłady przedstawiają wykonanie procedur przechowywanych, które zwraca wierszy z bazy danych, używając albo TableAdapters lub polecenia obiektów.Aby uzyskać więcej informacji dotyczących wykonywania kwerend z TableAdapters i poleceń, zobacz Wypełnianie zestawu danych danymi.

[!UWAGA]

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Wykonywanie przechowywanych procedur, które zwracają wierszy przy użyciu TableAdapter

W tym przykładzie przedstawiono tworzenie przy użyciu kwerendy TableAdapter TableAdapter Kreator konfiguracji zapytania, a następnie zawiera informacje na temat zadeklarować wystąpienie TableAdapter i wykonanie kwerendy.

Aby utworzyć procedurę przechowywaną zwracanie wierszy przy użyciu TableAdapter

  1. Otwórz element dataset w Projektant Dataset.Aby uzyskać więcej informacji, zobacz Porady: otwieranie zestawu w narzędziu Projektant obiektów Dataset.

  2. Jeśli nie masz już jeden utworzyć TableAdapter.Aby uzyskać więcej informacji, zobacz Porady: tworzenie TableAdapters.

  3. Jeśli masz już kwerendę na swoje TableAdapter, który wywołuje procedura przechowywana, zwracająca wiersze, przejdź do następnej procedury, "Aby"zadeklarować wystąpienie TableAdapter i wykonanie kwerendy. W przeciwnym razie przejdź do kroku 4, aby utworzyć nową kwerendę, która wywołuje procedura przechowywana, zwracająca wiersze.

  4. Kliknij prawym przyciskiem myszy TableAdapter, że użytkownik wan i dodać kwerendę za pomocą menu skrótów.

    TableAdapter Kreator konfiguracji zapytania Otwiera.

  5. Kliknij przycisk Dalej, a następnie wybierz polecenie wykorzystanie istniejącej procedury przechowywanej, a następnie kliknij przycisk Dalej.

  6. Wybierz procedurę składowaną z listy rozwijanej, a następnie kliknij przycisk Dalej.

  7. Pozostaw wartość domyślną z danych tabelarycznych, a następnie kliknij przycisk Dalej.

  8. Podać nazwy dla każdej metody, które chcesz utworzyć (wypełnienia z elementu DataTable i/lub zwraca element DataTable metod).

  9. Zakończ pracę Kreatora; Kwerenda jest dodawana do TableAdapter.

  10. Budowanie projektu.

Aby zadeklarować wystąpienie TableAdapter i wykonanie kwerendy

  1. Stwierdzenie wystąpienie TableAdapter, który zawiera kwerendę, którą chcesz wykonać.

    • Aby utworzyć wystąpienie przy użyciu narzędzia projektowania, przeciągnij TableAdapter, który z Przybornik.(Składniki w projekcie są teraz wyświetlane w Przybornik pod nagłówkiem, który odpowiada nazwie użytkownika projektu.) Jeśli TableAdapter nie są wyświetlane w Przybornik, a następnie trzeba tworzyć projekty.

      - lub -

    • Aby utworzyć wystąpienie w kodzie, zamień następujący kod z nazwy użytkownika DataSet i TableAdapter.

      Dim tableAdapter As New DataSetTableAdapters.TableAdapter

      [!UWAGA]

      Faktycznie TableAdapters nie znajdują się wewnątrz ich klas skojarzonych dataset.Każdy zestaw danych ma odpowiedni zbiór TableAdapters w swoich własnych nazw.Na przykład, jeśli masz dataset, o nazwie SalesDataSet, byłoby SalesDataSetTableAdapters obszaru nazw, który zawiera jej TableAdapters.

  2. Wywołanie kwerendy, jak możesz wywołać inną metodą w kodzie.Kwerenda jest metoda na TableAdapter.Zamień następujący kod o nazwach TableAdapter i kwerendy.Należy również przekazywać w żadnych parametrów wymaganych przez kwerendę.Jeśli nie jesteś pewien, jeśli kwerenda wymaga parametrów, lub parametry, jakich wymaga on następnie sprawdź IntelliSense wymagany podpis kwerendy.W zależności od tego, czy kwerenda pobiera parametry, lub nie kod wyglądałby podobny do jednego z następujących przykładów:

    TableAdapter.Query()

    TableAdapter.Query(Parameters)

    TableAdapter.Query(DataTable, Parameters)

    Kompletny kod deklaruje instancję TableAdapter i wykonanie kwerendy powinien wyglądać podobny do następującego:

    Dim tableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter()
    tableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")
    
    NorthwindDataSetTableAdapters.CustomersTableAdapter tableAdapter = 
        new NorthwindDataSetTableAdapters.CustomersTableAdapter();
    
    tableAdapter.FillByCity(northwindDataSet.Customers, "Seattle");
    

Wykonywanie przechowywanych procedur, które zwraca wierszy za pomocą obiektu polecenie

Poniższy przykład pokazuje, jak utworzyć polecenie i wykonaj procedurę przechowywaną, która zwraca wierszy.Aby uzyskać informacje na ustawianie i pobieranie wartości parametrów dla polecenia, zobacz Porady: ustawianie i pobieranie parametrów dla obiektów poleceń.

W tym przykładzie użyto SqlCommand obiektu i wymaga:

  • Odniesienia do System, System.Data, i System.Xml obszarów nazw.

  • Połączenie danych o nazwie SqlConnection1.

  • Tabela o nazwie Customers w danych źródła SqlConnection1 łączy.(W przeciwnym razie należy prawidłową instrukcję SQL dla źródła danych).

Wykonanie procedury przechowywanej, zwracanie wierszy programowo za pomocą obiektu polecenie

  • Dodaj następujący kod do metody, którą chcesz wykonać kod z.Zwraca wierszy, wywołując ExecuteReader metoda polecenia (na przykład, ExecuteReader).Dane są zwracane w DataReader.Więcej informacji na temat uzyskiwania dostępu do danych w DataReader, zobacz Retrieving Data Using a DataReader.

    Dim sqlConnection1 As New SqlConnection("Your Connection String")
    Dim cmd As New SqlCommand
    Dim reader As SqlDataReader
    
    cmd.CommandText = "StoredProcedureName"
    cmd.CommandType = CommandType.StoredProcedure
    cmd.Connection = sqlConnection1
    
    sqlConnection1.Open()
    
    reader = cmd.ExecuteReader()
    ' Data is accessible through the DataReader object here.
    
    sqlConnection1.Close()
    
    SqlConnection sqlConnection1 = new SqlConnection("Your Connection String");
    SqlCommand cmd = new SqlCommand();
    SqlDataReader reader;
    
    cmd.CommandText = "StoredProcedureName";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    
    reader = cmd.ExecuteReader();
    // Data is accessible through the DataReader object here.
    
    sqlConnection1.Close();
    

Zabezpieczenia

Aplikacja wymaga uprawnień do dostępu do bazy danych i wykonywanie procedury przechowywanej.

Zobacz też

Zadania

Porady: tworzenie zapytań TableAdapter

Porady: wypełnianie zestawu danych danymi

Porady: ustawianie i pobieranie parametrów dla obiektów poleceń

Informacje

SqlCommand.ExecuteReader

OleDbCommand.ExecuteReader

OdbcCommand.ExecuteReader

OracleCommand.ExecuteReader

Koncepcje

Wypełnianie zestawu danych danymi