在帮别人测试程序,环境装好后,一个页面出现错误,提示:
“/jxc-bs”应用程序中的服务器错误。
对象名 'users' 无效。
说明:执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.SqlClient.SqlException: 对象名 'users' 无效。
源错误:
行 31: DataSet myds = new DataSet();
行 32: sqlcon.Open();
行 33: myda.Fill(myds, "users");
行 34: GridView1.DataSource = myds.Tables[0];
行 35: GridView1.DataKeyNames = new string[] { "userid" };//主键 |
源文件: c:\Users\hadoop\Desktop\1001110825-刘潋-联大进销管理系统毕业设计相关文档\jxc-bs\System login\editusers.aspx.cs 行:33
查看了他的代码
public void bind()
{
string sqlstr = "select * from users";
sqlcon = new SqlConnection(constring);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
myda.Fill(myds, "users");
GridView1.DataSource = myds.Tables[0];
GridView1.DataKeyNames = new string[] { "userid" };//主键
GridView1.DataBind();
sqlcon.Close();
}
为何会无效呢?明明这个表示存在的嘛!想了一下这个数据库不存在这个表的原因,答案出来了,原来是连接字符串的数据库名写错了,改回来后就可正常访问。值得一提的是这哥们在每一个需要访问数据库的类中,都写了一遍连接字符串-_-!!寒 顺便帮他改成使用web.config配置文件的方式读取连接字符串,
<connectionStrings>
<add name="jxc-bsConnectionString" connectionString=" Data Source=IP;Initial Catalog=数据库;Persist Security Info=True;User ID=用户名;Password=密码" />
</connectionStrings>
公共类加上:
public static readonly string CONN_STRING = ConfigurationManager.ConnectionStrings["jxc-bsConnectionString"].ConnectionString;
</pre><p></p><pre>
然后读取连接字符串就直接读取CONN_STRING 就行了
完工