Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在数据库db=DatabaseFactory.CreateDatabase()处失败;_C#_Asp.net_Sql_Database_Factory - Fatal编程技术网

C# 在数据库db=DatabaseFactory.CreateDatabase()处失败;

C# 在数据库db=DatabaseFactory.CreateDatabase()处失败;,c#,asp.net,sql,database,factory,C#,Asp.net,Sql,Database,Factory,围绕数据库db=DatabaseFactory.CreateDatabase()进行故障切换

围绕数据库db=DatabaseFactory.CreateDatabase()进行故障切换行,它停在那里,在我告诉IDE继续之后,它跳过该行,函数结束

作为记录,我的推荐信也很可靠。我已经从我所做的另一个项目中分解了这段代码,所以我可能只是遗漏了一些愚蠢的东西。不管怎样,代码如下:

public class PullDebtor
{
    public static DataTable ClientNumber(string strClientID)
    {

        DataSet dsDebtor = new DataSet();
        dsDebtor.Tables.Add("Debtors");
        DbCommand dbCommand = null;

        try
        {

            Database db = DatabaseFactory.CreateDatabase();

            string sqlCommand = "sp_PullClientID";
            DbCommand dbCommand1 = db.GetSqlStringCommand(sqlCommand);
            dbCommand1.CommandType = CommandType.StoredProcedure;
            db.AddInParameter(dbCommand1, "@ClientID", DbType.String, strClientID);

            db.ExecuteNonQuery(dbCommand1);

            dsDebtor = db.ExecuteDataSet(dbCommand1);
        }
        catch
        {
            return dsDebtor.Tables[0];
        }
        finally
        {

        }
        return dsDebtor.Tables[0];

    }
}
}

您可能知道为什么不忽略这个异常
catch{…}
很少是一个好主意(实际上从来都不是一个好主意,但我在给出建议时尽量避免总是/从不)

将代码修改为类似以下内容,然后查看是否仍需要帮助:

try
{
    Database db = DatabaseFactory.CreateDatabase();

    ...
}
catch(Exception ex)
{
    // this will dump to the output window in VS when running a Debug build.
    // Release logging will require something different
    System.Diagnostics.Debug.WriteLine(ex);

    ...
}

您可能知道为什么不忽略这个异常
catch{…}
很少是一个好主意(实际上从来都不是一个好主意,但我在给出建议时尽量避免总是/从不)

将代码修改为类似以下内容,然后查看是否仍需要帮助:

try
{
    Database db = DatabaseFactory.CreateDatabase();

    ...
}
catch(Exception ex)
{
    // this will dump to the output window in VS when running a Debug build.
    // Release logging will require something different
    System.Diagnostics.Debug.WriteLine(ex);

    ...
}

您是否编辑了
.config
部分?你需要像这样的东西:

<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

您还需要一个配置部分,指向您在连接字符串部分中定义的连接字符串:

<dataConfiguration defaultDatabase="Connection String" />

您是否编辑了
.config
部分?你需要像这样的东西:

<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

您还需要一个配置部分,指向您在连接字符串部分中定义的连接字符串:

<dataConfiguration defaultDatabase="Connection String" />


I received'名称'Debug'在当前上下文中不存在'Debug'是我需要添加的引用吗?I received'名称'Debug'在当前上下文中不存在'Debug'是我需要添加的引用吗?事实上,我错过了这些重要步骤。然而,在将它们添加到各自的位置之后,我们没有得到比以前更进一步的结果。查看我的web.config文件会有帮助吗?当我有错误时,我可以排除故障,但是如果没有错误,我实际上是无用的。修好了!在我的配置关闭之前,我不得不将:粘贴在底部。谢谢你的帮助!这个解决方案在我的情况下不起作用。这里提到的配置存在于我的windows服务中,但服务在确切的行停止,即DatabaseFactory.CreateDatabase()。我可以发布完全相同的问题吗?因为我的情况也是这样。唯一的区别是EnterpriseLibrary版本是5.0.414.0I,事实上它遗漏了这些重要步骤。然而,在将它们添加到各自的位置之后,我们没有得到比以前更进一步的结果。查看我的web.config文件会有帮助吗?当我有错误时,我可以排除故障,但是如果没有错误,我实际上是无用的。修好了!在我的配置关闭之前,我不得不将:粘贴在底部。谢谢你的帮助!这个解决方案在我的情况下不起作用。这里提到的配置存在于我的windows服务中,但服务在确切的行停止,即DatabaseFactory.CreateDatabase()。我可以发布完全相同的问题吗?因为我的情况也是这样。唯一的区别是EnterpriseLibrary版本是5.0.414.0