"列名无效"的问题

 

反思"列名无效"的问题

标签: 数据库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.   
  12.      MyCommond = new SqlCommand();  
  13.      MyCommond.CommandText = "select * from UserInfo where [UserName]= @name and  [UserSex]= @sex "  ;    //这句新修改的           
  14.      MyCommond.CommandType = CommandType.Text;  
  15.      MyCommond.Connection = MyConnection;  
  16.      MyCommond.Parameters.Add("@name",Name.Text);   //从这里设置关联  
  17.                                   
  18.      MyCommond.Parameters.Add("@sex",Sex.Text);  
  19.   
  20.      MyDataReader = MyCommond.ExecuteReader();  
  21.   
  22.      while (MyDataReader.Read())  
  23.      {  
  24.          for (int inum = 0; inum < MyDataReader.FieldCount; inum++)  
  25.          {  
  26.              AllSult.Text = MyDataReader[0].ToString()  
  27.                           + MyDataReader[1].ToString()  
  28.                           + MyDataReader[2].ToString()  
  29.                           + MyDataReader[3].ToString();  
  30.          }      
  31.      }  
  32.      MyDataReader.Close();   //Copy and don't know y.  
  33.      MyConnection.Close();  
  34.  }  

 

 

 

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>");
  }也是好法。

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值