微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

"列名无效"的问题

 

反思"列名无效"的问题

标签: 数据库serverdatabasebuttonsqlobject
  8531人阅读  评论(3)  收藏  举报

  分类

发帖解决了~!贴在地址:

http://topic.csdn.net/u/20110316/21/1ee00820-09f4-446a-a451-6e84694abfc5.html?829232601

 

——————————————————————————————————————————————————————————

 

初学.net,今天连数据库,一直报“列名无效”的错。已经调了一个晚上,纠结啊~~

我用的环境:os: win xp sp3  ; 
            db: sq server2005
            环境:visual studio 2005.

提示错误,我尝试过
1)核对db列名,无误。 
2)sql语句用查询分析器执行,也正确。
3)看了网上N多帖子,有的说加' 或者 " ; 尝试良久,不成功。

     

  

 代码

[c-sharp]  view plain  copy
  1. protected void Button5_Click(object sender, EventArgs e)  
  2.  {  
  3.      sqlConnection MyConnection;  
  4.      sqlCommand MyCommond;  
  5.      sqlDataReader MyDataReader;  
  6.      int iNum;       
  7.   
  8.      MyConnection = new sqlConnection();  
  9.      MyConnection.ConnectionString = "server=(local);user id=sa;pwd=;database=AndXu";  
  10.      MyConnection.open();  
  11.      MyCommond = new sqlCommand();  
  12.      MyCommond.CommandText = "select * from UserInfo where [UserName]= @name and  [UserSex]= @sex "  ;    //这句新修改的           
  13.      MyCommond.CommandType = CommandType.Text;  
  14.      MyCommond.Connection = MyConnection;  
  15.      MyCommond.Parameters.Add("@name",Name.Text);   //从这里设置关联  
  16.                                   
  17.      MyCommond.Parameters.Add("@sex",Sex.Text);  
  18.      MyDataReader = MyCommond.ExecuteReader();  
  19. while (MyDataReader.Read())  
  20.      {  
  21.          for (int inum = 0; inum < MyDataReader.FieldCount; inum++)  
  22.          {  
  23.              AllSult.Text = MyDataReader[0].ToString()  
  24.                           + MyDataReader[1].ToString()  
  25.                           + MyDataReader[2].ToString()  
  26.                           + MyDataReader[3].ToString();  
  27.          }      
  28.      }  
  29.      MyDataReader.Close();   //copy and don't kNow y.  
  30.      MyConnection.Close();  
  31.  }  

 

 

 

e....e..
  对不起大家,问题解决了。说出来 我都不好意思了。。。
    
  “我有两个数据库,下面有同一个表,其中我连的那个表恰没有UserSex 而是 UserLevel”

  多谢大家的帮忙,问题终于明朗了。
  不过我也学到不少,总结一下:
  1.如果提示 列名无效,可能是
  1)数据库连接错误。 改改语句试试,检查数据库连接。
  2)sql错误。带回查询分析器试试。
  3)(据楼上某仁兄说)可能是关键字命名冲突,也有可能。
  4)可能是数据类型冲突。检查是否匹配。
  照此顺序,依次检查,应该能找到症结。

  2.再则,打印出类名看看是否正确:
  for (int i = 0; i < MyDataReader.FieldCount; i++)
  {
  Response.Write(MyDataReader.GetName(i) + "<br>");
  }也是好法。

  哎,一个不细心,白白纠结了一天。  以后要多加小心~!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐