向 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>
从网络配置
我唯一能想到的是,您正在查询的列没有呈现,也许您没有在查询中提及您的列。