日期:2014-05-18  浏览次数:20796 次

System.Data.SqlClient.SqlException: 列名 '单位' 无效
String sqlStr = "select UserID,Category,StartIP,TerminationIP,RoomDistribution,UserUuit from IPv4 " + whereStr + "order by UserID";
  SqlDataAdapter sda = new SqlDataAdapter(sqlStr, con);

  DataSet ds = new DataSet();
  sda.Fill(ds);
  GridView1.DataSource = ds;
  this.GridView1.DataBind();
  GridView1.DataKeyNames = new string[] { "UserID" };
  con.Close();
  }

总是出现列名 '单位' 无效,错误就直接指到sda.Fill(ds);这里。不知道怎么回事。其他运行都没错

------解决方案--------------------
探讨
String sqlStr = "select UserID,Category,StartIP,TerminationIP,RoomDistribution,UserUuit from IPv4 " + whereStr + "order by UserID";
SqlDataAdapter sda = new SqlDataAdapter(sqlStr, con);
……

------解决方案--------------------
this.GridView1.DataBind();
这里出错了
你绑定的时候,GridView里面有一个列指定的 DataField名称为“单位”,将这个单位改一下就行
------解决方案--------------------
探讨

没有啊,而且现在数据库也打不开了,用sa登陆时会出现这样的异常情况:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)

------解决方案--------------------
探讨
引用:

没有啊,而且现在数据库也打不开了,用sa登陆时会出现这样的异常情况:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)


【控制面板】-【管理工具】-【服务】-【sql server brower】,启动就可以!
检查一下代码

------解决方案--------------------
whereStr 里面包含了单位了嘛?数据表中有这个字段嘛?
------解决方案--------------------
一般出现这个报错 我第一时间去检查数据库中的字段名是不是和我sql语句中的字段名是否一致