该应用程序使用Oracle DataAccess ver。 1.1。 ,VS 2008,.Net Framework 3.5 w / 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();有这个错误:
事件类型:错误 事件来源:App Log 活动类别:无 事件ID:9961 日期:2008年9月30日 时间:下午4:42:11 用户:N / A. 电脑:Server15 描述: System.NullReferenceException:未将对象引用设置为对象的实例。 at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery,Boolean fillRequest,CommandBehavior behavior) 在Oracle.DataAccess.Client.OracleCommand.ExecuteReader() 在Oracle.DataAccess.Client.OracleCommand.ExecuteScalar() 在OracleMembershipProvider.cs中的Membership.OracleMembershipProvider.GetApplicationId(String applicationName,Boolean createIfNeeded):第1626行
我从各个角度看待这个我能想到的......基本上,无论我如何包裹它,执行失败。
答案 0 :(得分:1)
我注意到你的CommandText不包含指定的参数“:applicationName”
答案 1 :(得分:1)
“ExecuteReader”中没有错误。执行查询时出错...是applicationName
null?