pRs->Open("SELECT No,Timushu FROM Tigan",
_variant_t((IDispatch*)pConnection,true),
adOpenStatic,
adLockOptimistic,
adCmdText);
pRs->MoveFirst(); _variant_t vIndex;
vIndex.vt = VT_I2;
_bstr_t vName;
int la = pRs->Fields->Count;
for(int i = 0 ;i < la;i++)
{
vIndex.intVal = i;
vName = pRs->GetFields()->GetItem(vIndex)->GetName();
}
使用SQL语句SELECT * FROM Tigan时,一切正常
但使用SQL语句SELECT No,Timushu FROM Tigan时,
取No的field name时,总是变成了"Expr1000",其他的正常!
在数据库中,No为自增量的主键还有一个发现!当我把库中的No的名字改一改,仅仅是改名字!表现转为正常!
意思就是说“No”在SELECT语句中造成的,请问各位高人,这是什么意思?

解决方案 »

  1.   

    我以前也遇到过类似问题。我用的是password,执行SQL语句出错,但是改掉之后就可用了!我想这应该是微软的问题,嘿嘿,不是咋们的问题!
      

  2.   

    这是微软的问题,我以前用DAO编程时也遇到类似的问题,后来我把字段名改为stu_no就好了.
      

  3.   

    你应该这样用:pRs->Open("SELECT [No],Timushu FROM Tigan",  <---- here
      

  4.   

    你应该这样用:pRs->Open("SELECT [No],Timushu FROM Tigan",  <---- here