sql >> Database teknologi >  >> RDS >> Oracle

hvordan man udfører flere oracle-forespørgsler c#

Selvom du bruger navne til dine parametre, behandler din driver dem positionelt. Du kan lidt se, fordi det (næsten) matcher :1 med navnet p_cr1 - '1' er ikke et gyldigt navn. Den klager ikke, da den matcher positionelt - men det betyder, at den forsøger at bruge P_para for :1 , og da typen af ​​det er forkert, forklarer det den fejl du ser.

Der kan godt være en måde at ændre driverens adfærd på, men indtil videre kan du bare bytte den rækkefølge, du binder dem - så bindene opstår i samme rækkefølge (position), som variablerne vises i forespørgslen. Så:

cmd.Parameters.Add("p_cr1", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
cmd.Parameters.Add(new OracleParameter(":P_para", OracleDbType.Int64)).Value = Convert.ToInt64(Textbox.Text);
cmd.Parameters.Add("p_cr2", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);



  1. Hvordan kontrollerer man, at Facebook-brugerens ID allerede eksisterer, før man starter appen?

  2. ACOS() Funktion i Oracle

  3. Opdatering af visninger i MySQL

  4. DECODE( ) funktion i SQL Server