C# 在数据库db=DatabaseFactory.CreateDatabase()处失败;
围绕数据库db=DatabaseFactory.CreateDatabase()进行故障切换我不知道为什么。我在声明手动参数的情况下执行存储过程,她工作得很好。尽管如此,我并没有被给予一个错误或任何东西去离开,所以我不知道什么是错的。我在数据库db=DatabaseFactory.CreateDatabase()之前和之后的每一行代码中插入一个断点代码>行,它停在那里,在我告诉IDE继续之后,它跳过该行,函数结束 作为记录,我的推荐信也很可靠。我已经从我所做的另一个项目中分解了这段代码,所以我可能只是遗漏了一些愚蠢的东西。不管怎样,代码如下:C# 在数据库db=DatabaseFactory.CreateDatabase()处失败;,c#,asp.net,sql,database,factory,C#,Asp.net,Sql,Database,Factory,围绕数据库db=DatabaseFactory.CreateDatabase()进行故障切换
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