向 SQL Server 2008 R2 表中添加了一些列,但在网页查询该表时不会显示这些列

本文关键字:查询 网页 显示 Server R2 添加 SQL 2008 | 更新日期: 2023-09-27 18:32:31

我在SQL Server 2008 R2中的表中添加了一些列。然后,我将一些默认值放入这些列中。然后,我使用查询选择了这些列,该查询在输出框中产生了预期的结果。我的问题是当我使用以下代码行时

if (ds.Tables[0].Rows[0]["abc"].ToString().Trim() == "")
{
    this.abcHyperLink.ForeColor = Color.FromArgb(100, 100, 100);
}
else
{
   this.abcHyperLink.NavigateUrl = ds.Tables[0].Rows[0]["abc"].ToString();
}

若要查询新列,它会生成此错误消息

列"abc"不属于表表。

当我对旧列使用相同的代码时,代码工作正常并检索正确的数据。

为什么我不能查询新列,但可以使用旧列?在我可以使用代码查询它之前,我还必须执行新列吗?非常感谢您的帮助

编辑:

用于检查是否添加了新列的 SQL 查询是

Select [abc],[xyy]
from [database].[dbo].[table]

编辑2: 应用调用

public DataSet GetDataSet()
{
    string sql = "use [name of db] exec sp_search_by '" + this.searchString + "'";
    DataLayer dataLayer = new DataLayer();
    return dataLayer.GetDataSet(sql, "BCITConn");
}

哪个调用

public DataSet GetDataSet(string sql, string db)
{
    string providerName = ConfigurationManager.ConnectionStrings[db].ProviderName;
    DbProviderFactory factory = DbProviderFactories.GetFactory(providerName);
    DbConnection dbConnection = new SqlConnection();
    try
    {
        dbConnection = factory.CreateConnection();
        dbConnection.ConnectionString = ConfigurationManager.ConnectionStrings[db].ToString();
        DbCommand dbCommand = factory.CreateCommand();
        dbCommand.CommandText = sql;
        dbCommand.CommandTimeout = 2000;
        dbCommand.Connection = dbConnection;
        DbDataAdapter dbDataAdapter = factory.CreateDataAdapter();
        dbDataAdapter.SelectCommand = dbCommand;
        DataSet dataSet = new DataSet();
        dbDataAdapter.Fill(dataSet);
        dbConnection.Close();
        dbConnection.Dispose();
        return dataSet;
    }
    catch (DbException ex)
    {
        Console.WriteLine(ex.ToString());
    }
    finally
    {
        if (dbConnection != null)
        {
            dbConnection.Close();
            dbConnection.Dispose();
        }
    }
    return null;
}

其中使用

<connectionStrings>
    <add name="BCITConn" connectionString="Data Source=[correct]; Initial Catalog=[name of db];User ID=[correct];Password=[correct]; Max Pool Size=1000000; pooling=true" providerName="System.Data.SqlClient"/>
</connectionStrings>

从网络配置

向 SQL Server 2008 R2 表中添加了一些列,但在网页查询该表时不会显示这些列

我唯一能想到的是,您正在查询的列没有呈现,也许您没有在查询中提及您的列。