_dig
Дата: 21.12.2005 20:42:30
Привет,
надо бы мне пару табличек связанных прочитать, но одной "простыней" читать не хотелось бы, потому как в этом случае придется тянуть избыточные данные.
В оракле есть такая возможность:
SELECT
t1.*,
CURSOR (
SELECT t2.* FROM table2 t2
WHERE t2.FKfield = t1.PKfield) my_cursor
FROM table1 t1
WHERE
-- ну и ограничения на table1:
t1.field like "conditions"
Вот только прочитать такое с помощью OracleDataReader у меня не получается:
String conStr = "blabla";
String sqlCmd = "blabla";
OracleConnection con = new OracleConnection(conStr);
con.Open();
OracleCommand cmd = new OracleCommand(sqlCmd, con);
OracleDataReader reader = cmd.ExecuteReader();
object[] vals = new object[reader.FieldCount];
while (reader.Read()) {
reader.GetValues(vals);
}
Короче, при попытке reader.Read() "заваливается" с внутренней ошибкой провайдера -3000.