Данные из Oracle

A-LeXus
Дата: 02.06.2010 18:15:36
Приветствую,

как должен выглядить код на C#, чтобы добавить данные в Oкacle и вернуть Id поле.
проблема с xml видемо...

string query = "NOS_BT.SendDataIn(XMLType('" + xml + "'),'" + msgType + "','" + service.ToString() + "',to_date('" + startDate.ToString() + "', 'yyyy.mm.dd hh24:mi:ss'),'" + msgId.ToString() + "');";

function SendDataIn
(  p_xml                IN xmltype,
   p_msg_type           IN VARCHAR2,
   p_service            IN varchar2,
   p_dat_start          in date,
   p_msg_id             IN varchar2
) return number
IS
  ret number;
BEGIN
  INSERT INTO nos_inbox
              ( xml, msg_type, service, dat_start, msg_id )
       VALUES ( p_xml, p_msg_type, p_service, p_dat_start, p_msg_id )
      RETURNING id_nos_inbox INTO ret;
  commit;
  return ret;
END; 
Яростный Меч
Дата: 02.06.2010 18:53:26
Примерно так
string query = "select NOS_BT.SendDataIn(XMLType(:xml), :msgType, :service, to_date(:startDate, 'yyyy.mm.dd hh24:mi:ss'), :msgId) from dual";

OracleCommand com = new OracleCommand(query, connection);

// далее заполняем параметры (com.Parameters) в порядке следования имен (тех, которые идут после двоиточий), 
// для всех указываем тип OracleType.VarChar, значение для startDate прередаем как строку в формате YYYY.MM.dd hh.mm.ss
// ...

decimal ret = (decimal)com.ExecuteScalar();
pation
Дата: 02.06.2010 20:29:03
в оракле можно запускать функции и выводить их результат баз селекта