Announcement

Collapse
No announcement yet.

DataSet & Dynamische Stored Procedure liefert keine Daten zurück

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DataSet & Dynamische Stored Procedure liefert keine Daten zurück

    Moin,

    ich habe ein Dataset in dem ich eine Dynamischen Stored eingebunden habe.

    Im SQL Server kann ich die Stored Prima Aufrufen und auch die Datenvorschau im Tableadapter geht einwandfrei.

    Wenn ich die Stored aber über das Programm ausführe liefert sie mir keine Daten mehr. Hat jemand eine Idee für mich ?

    Kann mann dort irgend etwas Testen oder so.

    Hier einmal der Aufruf:
    Code:
    Dim myProductTableAdapter As New DsProductTableAdapters.productTableAdapter
    Dim myProducts As New List(Of product)
    
    myProducts = loadProducts(myProductTableAdapter.GetDataByParameter(Paramters)

  • #2
    Hallo,

    was macht die SP? Wo und wie wird sie aufgerufen? Wo und wie willst du die Ergebnisse abfragen bzw. erhalten? Woran merkst du, dass sie keine Daten "liefert"?

    Fragen über Fragen, die nur du beantworten kannst. Zum Raten habe ich im Moment keine Lust.

    Jürgen

    PS. Die Datenbank-Verarbeitung unter .NET gehört in der Regel zu ADO.NET; deshalb verschiebe ich das Thema.

    Comment


    • #3
      Ich Verwende die SP für eine Suchanfrage über mehrere Tabellen mit Paging Parametern. Ich kann also so ziemlich alles in meine SP rein ballern und bekomme dann alles Passende zurück plus nur z.b. nur die Ergebnisse von stelle 15 bis 20 von möglichen 100 stellen.


      Zum Aufrufe nach dem eine Button gedrückt wurde wird meine Funktion auf gerufen und gebe dort die Parameter mit.

      In der Funktion loadProducts werden einfach nur die jeweilige Rows meinen Object zugewiesen.

      GetDataByParameter = SP
      myProductTableAdapter = ist der Table Adapter im Dataset in der ich die SP hinzugefügt habe


      Code:
          Private Function getProductsbyParameterhelp(ByVal SearchParameters As Array) As List(Of product)
      
              Dim myProductTableAdapter As New DsProductTableAdapters.productTableAdapter
              Dim myProducts As New List(Of product)
      
              myProducts = loadProducts(myProductTableAdapter.GetDataByParameter(SearchParameters(0), _
                                                  CInt(SearchParameters(2)), _
                                                   CInt(SearchParameters(3)), _
                                                     SearchParameters(4), _
                                                     SearchParameters(5), _
                                                     SearchParameters(6), _
                                                     SearchParameters(7), _
                                                     SearchParameters(8), _
                                                     SearchParameters(9), _
                                                     SearchParameters(10), _
                                                     SearchParameters(11), _
                                                     SearchParameters(12), _
                                                     SearchParameters(13), _
                                                     SearchParameters(14), _
                                                     SearchParameters(15), _
                                                     SearchParameters(16), _
                                                     SearchParameters(17)), True)
              Return myProducts
          End Function
      Das ich keine Produkte zurück bekommen sehe ich ja wenn ich Folgendes mache: (Order halt auch direkt über myProducts.count)

      Code:
      Dim myProductTableAdapter As New DsProductTableAdapters.productTableAdapter
      
              Dim myProducts As New List(Of product)
      
              Dim myproductDataTable As New DsProduct.productDataTable
      
              myproductDataTable = myProductTableAdapter.GetDataByParameter(SearchParameters(0), _
                                                  CInt(SearchParameters(2)), _
                                                   CInt(SearchParameters(3)), _
                                                     SearchParameters(4), _
                                                     SearchParameters(5), _
                                                     SearchParameters(6), _
                                                     SearchParameters(7), _
                                                     SearchParameters(8), _
                                                     SearchParameters(9), _
                                                     SearchParameters(10), _
                                                     SearchParameters(11), _
                                                     SearchParameters(12), _
                                                     SearchParameters(13), _
                                                     SearchParameters(14), _
                                                     SearchParameters(15), _
                                                     SearchParameters(16), _
                                                     SearchParameters(17))
              If myproductDataTable.Count > 0 Then
      
              End If
      Sorry das ich das Falsch eingetargen hatte. Und danke für die Korrektur !!!

      Comment


      • #4
        Bei dem Code rate ich einfach mal das die Reihenfolge der Parameter falsch ist.

        Comment


        • #5
          Das mit dem Array ist nur zum testen ;-)

          Die Reihenfolge stimmt zumindest wenn ich an der Stelle einen Stop setzte und ich mir die Parameter an sehe. gibt es eine möglichkeit das zu Testen ?
          Denn das Array ist richtig befüllt. Der Verdacht liegt natüchlich nahe !

          Comment


          • #6
            Um das herauszufinden wäre es z.B. hilfreich mit dem SQL Server Profiler sich das am Server angekommene Statement anzusehen. Keine Ahnung ab welcher Version der Profiler dabei ist. Bei einer Express Version vermutlich nicht.

            Comment


            • #7
              Ich habe hier das VS 2010 Professional. Und einen SQL 2005 Express

              Ich glaube aber auch nicht das es Daran liegt.

              Mir ist gerade noch aufgefallen wenn ich die Dynamische Stored ins Dataset über denn Assistenten hinzufüge das unter Ergbnisse Ergebnisspalten dort keine angezeigt werden. Woran könnte das denn noch Liegen.
              Oder ist das eh egal.
              Zuletzt editiert von Schocker; 13.07.2010, 12:52.

              Comment


              • #8
                Ich habe denn Fehler gefunden ;-(

                Ich habe in meiner SP auf die Paramter auf is NULL abgefragt. Offentlich übertrage ich aber das Nothing nicht Korrekt so das ein leer Strings übertragen wird. Somit wird dann ColumnWert = '' findet nichts und es kommt kein Ergebniss zurück.

                Ich Danke euch sehr für eure Hilfe !

                Comment

                Working...
                X