C# 定义了datatable 但是提示上下文不存在.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 定义了datatable 但是提示上下文不存在.相关的知识,希望对你有一定的参考价值。
定义了dtResult 但是调试时候说上下文不存在
就这句代码:string strSql = "select * from contractinfo where projectid= \'" + ProjectID + "\' ";
最后ProjectID这个参数变量你没有定义。所以说上下文不存在。追问
不是的, 说的是dtResult上线问不存在,
ProjectID 是在外面定义的 public string ProjectID = string.Empty;
外面定义???你是WINFORM还是WEB?
我建议你先定义在里面试试(定义在方法体里里面),如果还有问题,那你要检查下DBSELECT这个方法了,看看需要传的参数是否正确和里面的代码。
顺便问句,contractinfo这个表你数据库存在吗?仔细检查下。
dtResult 绝对和ProjectID没有半点关系 这问题是很奇怪, 把 dtResult定义在 方法外可以了, 很怪的,这里
参考技术A 我觉得这个错误应该是从dbClass.dbSelect(strSql,"contractinfo") 方法中抛出来的,你看是不是在里面调用 dtResult , 但没有定义! 参考技术B 这种情况我没试过,是不是需要将dtResult添加到dbClass中试一试追问
在另一个类中我这样调用的dbClass 就没问题
DBAccess dbClass = new DBAccess();
DataTable dtResult = new DataTable();
dtResult = dbClass.dbSelect(getDataProjectName(), "contractinfo");
这是另一个类中这样用的,可以正常返回datatable,
但是在这里怎样弄都是提示上下文不存在"dtResult"
c# DataTable中使用排序的时候注意事项
背景:
在项目使用DataTable的时候,使用到了其中ExtendedProperties的属性,但是之后出了问题:在排序之后ExtendedProperties的自定义的键值丢失了,代码如下:
误:
dt.ExtendProperties["test"]="OK"; dv = New DataView(dt) dv.Sort = "id desc" dt = dv.ToTable();
最后dt的ExtendedProperties丢失了。
正确的做法如下,不需要重新生成DataView和DataTable
正:
dt.DefaultView.Sort = "id desc"
以上的代码,经过验证可以保存ExtendedProperties不丢失。
横斩:
在以后处理其他数据结构的时候,如果出现了“再生”对象的代码,需要确认是否有其他信息丢失的问题。
以上是关于C# 定义了datatable 但是提示上下文不存在.的主要内容,如果未能解决你的问题,请参考以下文章
C# 如何调整DataTable的大小?有人说调属性,但是MicroSoft Visual 2010 C# 没有DataTable控件。
C#中定义了一个DataTable,怎样求得表中的最大值,并返回对应的行和列的下标啊