问题描述
conn.Open();foreach(stringvarinstrTableName){//常量时没有问题DataTableshemaColumnsInfo3=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,"aa",null});DataTableshemaColumnsInfo4=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,"bb",null});//变量时,第一次循环没问题,第二次就是空表DataTableshemaColumnsInfo1=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,var,null});DataTableshemaColumnsInfo2=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,var,null});}conn.Close();
解决方案
解决方案二:
楼主,能不能把问题贴全一点啊
解决方案三:
试试这样:foreach(string@varinstrTableName)
解决方案四:
今天我也碰到了一个foreach循环不到的问题,最后改用for循环就ok了
解决方案五:
引用2楼ojlovecd的回复:
试试这样:foreach(string@varinstrTableName)
----------这样也不行,您在帮忙想想办法
解决方案六:
顶
解决方案七:
引用4楼lys1706228的回复:
引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法
提示什么错
解决方案八:
引用3楼hyj12345678的回复:
今天我也碰到了一个foreach循环不到的问题,最后改用for循环就ok了
------------不是循环不到的问题
解决方案:
var是关键字吧。。。classImplicitlyTypedLocals2{staticvoidMain(){string[]words={"aPPLE","BlUeBeRrY","cHeRry"};//Ifaqueryproducesasequenceofanonymoustypes,//thenusevarintheforeachstatementtoaccesstheproperties.varupperLowerWords=fromwinwordsselectnew{Upper=w.ToUpper(),Lower=w.ToLower()};//Executethequeryforeach(varulinupperLowerWords){Console.WriteLine("Uppercase:{0},Lowercase:{1}",ul.Upper,ul.Lower);}}}/*Outputs:Uppercase:APPLE,Lowercase:appleUppercase:BLUEBERRY,Lowercase:blueberryUppercase:CHERRY,Lowercase:cherry*/
解决方案:
可以赋予局部变量推断“类型”var而不是显式类型。var关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型或.NETFramework类库中定义的类型。//iiscompiledasanintvari=5;//siscompiledasastringvars="Hello";//aiscompiledasint[]vara=new[]{0,1,2};//expriscompiledasIEnumerable<Customer>//orperhapsIQueryable<Customer>varexpr=fromcincustomerswherec.City=="London"selectc;//anoniscompiledasananonymoustypevaranon=new{Name="Terry",Age=34};//listiscompiledasList<int>varlist=newList<int>();
解决方案:
mark!
解决方案:
引用6楼ojlovecd的回复:
引用4楼lys1706228的回复:引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法提示什么错
-----------------不提示任何错误举例strTableName[0]=“aa”;strTableName[0]=“bb”;foreach(string@varinstrTableName){DataTableshemaColumnsInfo3=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,“aa”,null});返回的shemaColumnsInfo3.rows.count为2DataTableshemaColumnsInfo4=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,“bb”,null});返回的shemaColumnsInfo3.rows4count为4DataTableshemaColumnsInfo1=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,var,null});返回的shemaColumnsInfo1.rows.count为0}foreach第一次进入如果@var=“aa”DataTableshemaColumnsInfo3=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,“aa”,null});返回的shemaColumnsInfo3.rows.count为2DataTableshemaColumnsInfo4=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,“bb”,null});返回的shemaColumnsInfo3.rows4count为4DataTableshemaColumnsInfo1=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,var,null});返回的shemaColumnsInfo1.rows.count为2foreach第二次进入@var=“bb”DataTableshemaColumnsInfo3=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,“aa”,null});返回的shemaColumnsInfo3.rows.count为2DataTableshemaColumnsInfo4=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,“bb”,null});返回的shemaColumnsInfo3.rows4count为4DataTableshemaColumnsInfo1=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,var,null});返回的shemaColumnsInfo1.rows.count为0------------------问题就是这样
解决方案:
引用11楼lys1706228的回复:
引用6楼ojlovecd的回复:引用4楼lys1706228的回复:引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法提示什么错-----------------不提示任何错误举例strTableName[0]=“aa”;strTableName[0]=“bb”;foreach(string@varinstrTableName){DataTableshemaColumnsInfo3=conn.GetOleDbSchemaTable(OleDbSchemaGui…
不知道你这里是不是写错了,下标都是0你确定第二次进入的时候var是bb?加断电调试过了吗?
解决方案:
引用12楼ojlovecd的回复:
引用11楼lys1706228的回复:引用6楼ojlovecd的回复:引用4楼lys1706228的回复:引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法提示什么错-----------------不提示任何错误举例strTableName[0]=“aa”;strTableName[0]=“bb”;foreach(string@varinstrTableName){DataTableshemaColumnsIn…
--------------是写错了strTableName[1]=“bb”;进入的是bb所以很奇怪
解决方案:
问题不在Foreach吧应该是在newobject[]{null,null,var,null}这里吧
解决方案:
up
解决方案:
那你要是把DataTableshemaColumnsInfo3=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,"aa",null});DataTableshemaColumnsInfo4=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,newobject[]{null,null,"bb",null});这两句删掉呢
解决方案:
引用12楼ojlovecd的回复:
引用11楼lys1706228的回复:引用6楼ojlovecd的回复:引用4楼lys1706228的回复:引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法提示什么错-----------------不提示任何错误举例strTableName[0]=“aa”;strTableName[0]=“bb”;foreach(string@varinstrTableName){DataTableshemaColumnsIn…
要不发给您,您帮我调试下行吗?
解决方案:
引用17楼lys1706228的回复:
引用12楼ojlovecd的回复:引用11楼lys1706228的回复:引用6楼ojlovecd的回复:引用4楼lys1706228的回复:引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法提示什么错-----------------不提示任何错误举例strTableName[0]=“aa”;strTableName[0]=“bb”;foreach(string@varinstrTableName){DataTable…
lonelyjano@163.com发过来吧
解决方案:
引用11楼lys1706228的回复:
引用6楼ojlovecd的回复:引用4楼lys1706228的回复:引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法提示什么错-----------------不提示任何错误举例strTableName[0]=“aa”;strTableName[0]=“bb”;foreach(string@varinstrTableName){DataTableshemaColumnsInfo3=conn.GetOleDbSchemaTable(…
你直接用for好了,另外,换个名字,不要用var
解决方案:
引用18楼ojlovecd的回复:
引用17楼lys1706228的回复:引用12楼ojlovecd的回复:引用11楼lys1706228的回复:引用6楼ojlovecd的回复:引用4楼lys1706228的回复:引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法提示什么错-----------------不提示任何错误举例strTableName[0]=“aa”;strTableName[0]=“bb”;foreac…
-------程序发过去了,请查收。GetColumnsInfo这个方法测试都改乱了,您凑合看
解决方案:
引用19楼qinhl99的回复:
引用11楼lys1706228的回复:引用6楼ojlovecd的回复:引用4楼lys1706228的回复:引用2楼ojlovecd的回复:试试这样:foreach(string@varinstrTableName)----------这样也不行,您在帮忙想想办法提示什么错-----------------不提示任何错误举例strTableName[0]=“aa”;strTableName[0]=“bb”;foreach(string@varinstrTableName){DataTableshemaColumnsIn…
------------都试过了谢谢关注
解决方案:
引用14楼duy02的回复:
问题不在Foreach吧应该是在newobject[]{null,null,var,null}这里吧
-----有道理
解决方案:
单步跟踪“shemaColumnsInfo1.rows.count”的值,看到下它是在哪一步的时候由2变到0的。
解决方案:
foreach(string@varinstrTableName)里,换成了@var里面的var了应该换成@var才对啊
解决方案:
:(
解决方案:
顶,var是关键字,怎么用它来做变量名呢
解决方案:
引用26楼MicroDeviser的回复:
顶,var是关键字,怎么用它来做变量名呢
改了也不行,不是这个问题