ExecuteScalar не работает на сервере - PullRequest
0 голосов
/ 01 октября 2008

Приложение использует Oracle DataAccess вер. 1.1. , VS 2008, .Net Framework 3.5 с SP1

OracleConnection connection = new OracleConnection(ConnectionStringLogon);
connection.Open();

OracleParameter selectParam = new OracleParameter(":applicationName", OracleDbType.Varchar2, 256);
selectParam.Value = applicationName;

if (connection.State != ConnectionState.Open)
    connection.Open();

OracleCommand cmd = new OracleCommand();

cmd.Connection = connection;
cmd.CommandText = "Select ApplicationId from Applications where AppName = 'appName'";
cmd.CommandType = CommandType.Text;

if (selectParam != null)
{
        cmd.Parameters.Add(selectParam);
}
object lookupResult = cmd.ExecuteScalar();
cmd.Parameters.Clear();

if (lookupResult != null)

Сбой процедуры для объекта lookupResult = cmd.ExecuteScalar (); с этой ошибкой:

Тип события: ошибка Источник события: журнал приложений Категория события: нет Код события: 9961 Дата: 30.09.2008 Время: 16:42:11 Пользователь: N / A Компьютер: Server15 Описание: System.NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта. в Oracle.DataAccess.Client.OracleCommand.ExecuteReader (логический запрос, логический fillRequest, поведение CommandBehavior) в Oracle.DataAccess.Client.OracleCommand.ExecuteReader () в Oracle.DataAccess.Client.OracleCommand.ExecuteScalar () at Membership.OracleMembershipProvider.GetApplicationId (строка applicationName, логическое createIfNeeded) в OracleMembershipProvider.cs: строка 1626

Я смотрел на это со всех сторон, которые я могу себе представить ... в принципе, независимо от того, как я это обертываю, выполнение не выполняется.

Ответы [ 2 ]

1 голос
/ 01 октября 2008

Это не ошибка в "ExecuteReader". Это ошибка при выполнении запроса ... applicationName null?

1 голос
/ 01 октября 2008

Я заметил, что ваш CommandText не содержит указанный параметр ": applicationName"

...