对象名 'users_info' 无效。
这个我确定有的,在本地执行正常,挂到服务器就报这样的错对象名 'users_info' 无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 对象名 'users_info' 无效。
源错误:
行 320: {
行 321:
行 322: throw e;
行 323: }finally { connection.Close(); }
行 324: }
源文件: e:\Inetpub\wwwroot\LocalUser\yybainian\App_Code\DBHelp.cs 行: 322
堆栈跟踪:
[SqlException (0x80131904): 对象名 'users_info' 无效。]
DBHelp.GetDataSet(String safeSql) in e:\Inetpub\wwwroot\LocalUser\yybainian\App_Code\DBHelp.cs:322
SQLdata.selectUser(String id) in e:\Inetpub\wwwroot\LocalUser\yybainian\App_Code\SQLdata.cs:36
_Default.Button1_Click(Object sender, EventArgs e) in e:\Inetpub\wwwroot\LocalUser\yybainian\CitiesAlliance\users\Default.aspx.cs:23
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5087
--------------------编程问答-------------------- 检查数据源是否正确连接,包括主机地址 --------------------编程问答-------------------- 服务器上配置文件 中,连接的数据库中,没有这个表. --------------------编程问答-------------------- 在数据库执行语句试试。。 --------------------编程问答-------------------- 或者是,表名称没有严格对应 --------------------编程问答-------------------- 数据库表名写错了 --------------------编程问答-------------------- 你确定的服务器上的表名为dbo.users_info --------------------编程问答-------------------- 我用的access数据库
--------------------编程问答-------------------- 用上[users_info]加表名称 --------------------编程问答-------------------- 表名直接负制粘贴的 --------------------编程问答-------------------- [users_info]这个也用过了的,还是一样的错 --------------------编程问答-------------------- 数据库没挂好,和本机的不一样 --------------------编程问答-------------------- 重新生成一下, --------------------编程问答-------------------- 同个数据库里的,另一个表的表名有效,字段名无效 --------------------编程问答-------------------- 贴代码 --------------------编程问答-------------------- 列名 'adminName' 无效。
列名 'adminpwd' 无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 列名 'adminName' 无效。
列名 'adminpwd' 无效。
源错误:
这个的表名和上面的表名是在同一个数据库的 --------------------编程问答-------------------- 根据你15楼的情况,估计是你的这个数据库有问题
异常详细信息: System.Data.SqlClient.SqlException: 列名 'adminName' 无效。
//你看这个异常,是SqlException,也就是说应该是MS SQL的吧
//之前你说你用Access类型数据库,可能我也不懂,但我一般对这种类型数据库,是使用OleDbConnection对象和OleDbCommand对象去操作的
//当然,如果楼主确实本地正常的话,那应该不是我说的问题
//最后提醒一下,ACCESS数据库最麻烦的就是路径问题,本地的和服务器上的不一样,你必须配置文件那考虑到这些,你可以尝试把数据库链接字符串读取出来在一个新的页面显示一下,看它是否真的指向你的数据库文件 --------------------编程问答-------------------- 数据库相对路径没写对? --------------------编程问答-------------------- 不是数据库名称不对,就是字段没写对! 要不就是,表里面没那个字段。 --------------------编程问答-------------------- 数据库链接错误,或当前链接的数据库中没有 这张表 --------------------编程问答-------------------- 应该连接哦数据库跟你看到数据库不是一个 --------------------编程问答-------------------- 如果确定表名没错,那可能是当前连到别的库上去了 --------------------编程问答-------------------- 检查一下连接配置吧。应该是这方面的问题 --------------------编程问答--------------------
你去看一下那个表里是否有这个列,你这个是adminName和adminpwd没有,你看一下数据库里面的表结构吧 --------------------编程问答-------------------- 如果你是用三层加油的话,你要重新 生成下 dal bll model 这3个成的 dal 文件 在上传到服务上去、
Default.aspx.cs 23行 跟着调试下去 --------------------编程问答-------------------- 不存在user-info的表 --------------------编程问答-------------------- 计算机不会骗人的 --------------------编程问答--------------------
/// <summary>--------------------编程问答-------------------- mark --------------------编程问答-------------------- 楼主查一下
/// 测试连接数据库是否成功
/// </summary>
/// <returns></returns>
public static bool ConnectionTest()
{
//获取数据库连接字符串
ConnectionString = ConnectionInfo.ConnectionString();
//创建连接对象
mySqlConnection = new SqlConnection(ConnectionString);
//如:server=.;uid=sa;pwd=;database=PMIS;Integrated Security=SSPI; Connection Timeout=30
//mySqlConnection.ConnectionTimeout = 1;//设置连接超时的时间
try
{
//Open DataBase
//打开数据库
mySqlConnection.Open();
IsCanConnectioned = true;
}
catch
{
//Can not Open DataBase
//打开不成功 则连接不成功
IsCanConnectioned = false;
}
finally
{
//Close DataBase
//关闭数据库连接
mySqlConnection.Close();
}
//mySqlConnection is a SqlConnection object
if (mySqlConnection.State == ConnectionState.Closed || mySqlConnection.State == ConnectionState.Broken)
{
//Connection is not available
return IsCanConnectioned;
}
else
{
//Connection is available
return IsCanConnectioned;
}
}
一,数据库路径有问题,无法找到这个数据库
二,数据库里没有这个表,或是名不对,如果确认有,哪么数据库坏了。读不出来 --------------------编程问答-------------------- 连接字符串,确保能连接数据库.
数据库中存在表
表中字段拼写检查
楼主说的是Access数据库,用Sql的类进行的连接?
换成
private OleDbConnection conn;
private OleDbDataAdapter oda = new OleDbDataAdapter();
private OleDbCommand cmd;
试试 --------------------编程问答-------------------- 你断点跟踪
能链接数据库吗
--------------------编程问答-------------------- 呵呵,还没结贴啊
奇实还有一点我想到的可能性原因,就是如果楼主使用的SQL语句是以参数化方式进行的,那可能是参数的位置和顺序不同造成的
因为ACCESS只是MS SQL的简化版本,它的引擎不会自动智能区分参数的绑定,它只识参数的出现位置
//不过楼主又说本地运行没有错误,这点就推翻了我的这个推断了,唯一的解释就是你要么链接到的库不对,要么就是你的库坏了,
//、本地好好的,服务器却出错,并且是ACCESS数据库,提示不存在表或该表字段,我想原因不会太复杂 --------------------编程问答-------------------- 谢谢楼上各位,中间发生了一些事,我中断了一段时间的编写,现在继续纠结中 --------------------编程问答--------------------
补充:.NET技术 , ASP.NET