存储过程不起作用(System.TypeInitializationException)

时间:2015-07-16 11:05:59

标签: c# asp.net stored-procedures

我一直收到此错误,我不知道如何修复它。

WebApplication1.dll中发生了'System.TypeInitializationException'类型的异常,但未在用户代码中处理

显然,如果我使用现有或不存在的存储过程无关紧要,无论如何我都会收到错误。

在我的配置中,我有一个像这样的连接字符串:

<connectionStrings>
<add name="DefaultConnection" 
     connectionString="data source=PC\SQLEXPRESS;database=db;uid=dbuser;pwd=E1485517-5C5B-4D85-AFD3-0A4C4522F8BD" 
     providerName="System.Data.SqlClient" />
</connectionStrings>

并且在这里我想使用存储过程:

public static Student GetStudentById(int studentid)
{
    DbCommand dbCommand = DB.GetSqlStringCommand("GetStudentById");
    dbCommand.CommandType = CommandType.StoredProcedure;

    DB.AddInParameter(dbCommand, "@id", DbType.Int32, studentid);

    using (IDataReader dr = DB.ExecuteReader(dbCommand))
    {
        if (dr.Read())
        {
            return new Student
            {
                fullname = dr.GetString(dr.GetOrdinal("fullname"))
            };
        }
    }

    return null;
}

有什么线索我缺少什么?

这就是这条线: DbCommand dbCommand = DB.GetSqlStringCommand("GetStudentById");异常消息是荷兰语,翻译为:“BaseDAL的类型初始化函数导致异常”。 我的BaseDAL看起来像这样:

using Microsoft.Practices.EnterpriseLibrary.Data; 

public class BaseDAL 
{ 
  public static Microsoft.Practices.EnterpriseLibrary.Data.Database DB = DatabaseFactory.CreateDatabase("db"); 
}
编辑:我刚发现问题,用户登录失败,这就是它无法正常工作的原因。

1 个答案:

答案 0 :(得分:-1)

试试这个:

转到应用程序池 - &gt;高级设置并将Identity的{​​{1}}设置为Process Model

enter image description here