当前位置: 代码迷 >> C# >> sql语句查询表中没有的列报错如何解决
  详细解决方案

sql语句查询表中没有的列报错如何解决

热度:352   发布时间:2016-05-05 02:52:43.0
sql语句查询表中没有的列报错怎么解决
在sql编辑器里没有报错,但是程序执行的时候报,因为查询的是个公式,如果没有的列我想查询出来为0,sql编辑器得到的也是0,程序就报错
------解决思路----------------------
应先判断一下该列是否存在,再进行下面的操作就行了

//如果是dataset
if()ds.Tables[0].Columns.Contains("a"))
{
//....
}
//如果是DataTable
if (dt.Columns.Contains("列名"))
{
//....
}

------解决思路----------------------
估计你返回不同格式了吧,比如有数据是什么格式内容返回,没数据直接返回0,这样你查询是可以的,ADO.NET就不行了
------解决思路----------------------
2楼给你的方法就是告诉你用ado.net查询出所有列的dataset或datatable,不要select指定列,然后再从dataset或datatable判断列是否存在。否则ado.net肯定出错,这是最基础的常识。
------解决思路----------------------
你只要select一次就够了,放到datatable中,不要每次操作都到数据库查询,因为公式基本是不变化的,如果更新公式,那就再更新datatable对象。
  相关解决方案