sql >> Databasteknik >  >> RDS >> Oracle

hur man kör flera orakelfråga c#

Även om du använder namn för dina parametrar, behandlar din förare dem positionsmässigt. Du kan avgöra eftersom det (nästan) matchar :1 med namnet p_cr1 - '1' är inte ett giltigt namn. Den klagar inte eftersom den matchar positionellt - men det betyder att den försöker använda P_para för :1 , och eftersom typen av det är fel, förklarar det felet du ser.

Det kan mycket väl finnas ett sätt att ändra förarens beteende, men för närvarande kan du bara byta ordningen du binder dem - så bindningarna sker i samma ordning (position) som variablerna visas i frågan. 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. är det vanligt att ha miljontals tabeller och miljontals rader inom dem i MySQL-databasdesign?

  2. hur hämtar man alla rader av resultatet i php mysql?

  3. Hur använder man index i en främmande tabell SELECT MAX(id)-fråga i PostgreSQL?

  4. Hur använder man MAX i MySQL?