Announcement

Collapse
No announcement yet.

Zwei Fragen zu Stored Procedures/Oracle/ADO

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

  • Zwei Fragen zu Stored Procedures/Oracle/ADO

    Hallo,<br>
    ich habe zwei Fragen:<br>
    Wie kann ich an eine Stored Procedure (Oracle) über ein OleDbCommand einen Parameter mit dem Wert null übergeben?<br>
    Wie kann ich vor dem Aufruf von Command.ExecuteNonQuery() die angegebenen Parameter auf Name, Datentyp usw. überprüfen? Ich habe es mit
    <pre>
    GetOleDbSchemaTable(OleDbSchemaGuid.Procedure_Para meters, null)
    </pre>
    versucht, erhalte dabei aber lediglich fünf Parameter einer System-Prozedur und keine Parameter von durch mich angelegten Prozeduren.<br><br>
    Hat jemand eine Idee?<br>
    Gruss<br>
    Christian

  • #2
    Hallo,

    &gt;..mit dem Wert null übergeben?

    wenn der OLE DB Provider von Oracle kein spezielles Verhalten an den Tag legt, sollte <b>DBNull.Value</b> zum richtigen Ziel führen.

    &gt;.... Datentyp der Parameter...

    Der <b>CommandBuilder</b> bietet die statische Methode <b>DeriveParameter</b> an, über die man sich die Parameter-Deklaration zurückliefern lassen kann. Das folgende Beispiel ermittelt die Parameter einer Stored Procedure aus der Northwind-Beispieldatenbank:
    <pre>
    Dim strConn As String = "data source=localhost;initial catalog=Northwind;integrated security=SSPI;"
    Dim aCon As New SqlConnection(strConn)
    Dim cmd As New SqlCommand("SalesByCategory", aCon)
    cmd.CommandType = CommandType.StoredProcedure
    aCon.Open()
    ' statische Methode DeriveParameters aufrufen
    SqlCommandBuilder.DeriveParameters(cmd)
    Dim param As SqlParameter
    For Each param In cmd.Parameters
    ListBox1.Items.Add(param.ParameterName)
    ListBox1.Items.Add(vbTab + param.Direction.ToString())
    ListBox1.Items.Add(vbTab + param.SqlDbType.ToString())
    ListBox1.Items.Add(vbTab + param.Size.ToString())
    Next param
    aCon.Close()
    </pre>
    P.S: Sorry, aber ich habe zur Zeit nur ein VB.NET-Beispiel für den SqlCommandBuilder am Lager. Aber da OleDbCommandBuilder ebenfalls die Methode DeriveParameters implementiert, sollte das auch für ORACLE brauchbar sein

    Comment


    • #3
      Sensationell, wie das funktioniert...<br><br>
      Danke und Gruss<br>
      Christia

      Comment

      Working...
      X