2011-03-31 49 views
0

所以我有这个旧的应用程序从2005年建立.net 3.5。该应用程序运行在一个W2k3服务器与sql server 2005很好。我把它从服务器移动到本地机器后不能运行asp.net网站 - 无法找到表0

我已经复制应用程序文件和导入数据库从我的本地主机xp计算机上的备份与SQL Server 2008.我已设置数据库兼容性90这是100%的SQL Server 2005 compat模式。将文件放入Visual Studio网站项目中,并使用“浏览”运行​​它。我收到“无法找到表0”的错误。

我已启用web.config中的调试并获取问题所在的文件。如果我计算结果,则错误将移动到具有类似代码的另一个文件。我知道我应该计算结果,但应用程序运行得很好,因为它在Web服务器上。

应用程序正在使用Enterprise Library 1.1,并且db连接信息位于web.config中引用的dataConfiguration.config中。我已编辑dataConfiguration.config以反映本地主机上的连接信息。

代码触发错误是这样的:

 
     DataSet dsflash = new DataSet(); 
     dsflash = objFlash.GetLatestBanner(); 
     if (dsflash.Tables[0].Rows.Count > 0) //error here 
     { 
//   lnkLink.HRef = dsflash.Tables[0].Rows[0]["Link"].ToString(); 

此时我正在打,不知道该往哪走......

回答

0

检查你函数GetLatestBanner()返回一个数据集里面有一些表格。你也可以有一个条件,以检查表中的数据集算 -

if(dsflash.Tables.Count > 0) 
{ 
    if (dsflash.Tables[0].Rows.Count > 0) //error here 
    { 
     //your rest of the code. 
    } 
} 

这将确保只有当有数据集中的当前表,它会提前与您的代码移动。

+0

正如我所说<<如果我计算结果然后错误移动到具有类似代码的另一个文件。我知道我应该计算结果,但应用程序运行得很好,因为它在Web服务器上。 >> – 2011-03-31 12:35:02

+0

@Andrei - 然后问题出在你的GetLatestBanner()方法中,你需要调试它为什么没有返回你的代码所期望的正确数据集。 – 2011-03-31 12:42:29

相关问题