{"Invalid object name 'userrole'."}
[System.Data.SqlClient.SqlException]: {"Invalid object name 'userrole'."}
Data: {System.Collections.ListDictionaryInternal}
HelpLink: null
InnerException: null
Message: "Invalid object name 'userrole'."
Source: ".Net SqlClient Data Provider"
StackTrace: " 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)\r\n 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)\r\n 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)\r\n 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)\r\n 在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()\r\n 在 System.Data.SqlClient.SqlDataReader.get_MetaData()\r\n 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior,
Boolean returnStream, String method, DbAsyncResult result)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteReader()\r\n 在 King.BookShop.SQLDAL.SQLHelper.ExecuteReader(String sql, SqlParameter[] param, CommandType cmdType) 位置 C:\\Documents and Settings\\Administrator\\桌面\\King\\King.BookShop.SQLDAL\\SQLHelper.cs:行号 61"
TargetSite: {Void OnError(System.Data.SqlClient.SqlException, Boolean)} 晕死了,,在用SqlDataReader读取数据的时候出了这个异常,是什么原因啊请教高手
在线等,来都给分
[System.Data.SqlClient.SqlException]: {"Invalid object name 'userrole'."}
Data: {System.Collections.ListDictionaryInternal}
HelpLink: null
InnerException: null
Message: "Invalid object name 'userrole'."
Source: ".Net SqlClient Data Provider"
StackTrace: " 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)\r\n 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)\r\n 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)\r\n 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)\r\n 在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()\r\n 在 System.Data.SqlClient.SqlDataReader.get_MetaData()\r\n 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior,
Boolean returnStream, String method, DbAsyncResult result)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteReader()\r\n 在 King.BookShop.SQLDAL.SQLHelper.ExecuteReader(String sql, SqlParameter[] param, CommandType cmdType) 位置 C:\\Documents and Settings\\Administrator\\桌面\\King\\King.BookShop.SQLDAL\\SQLHelper.cs:行号 61"
TargetSite: {Void OnError(System.Data.SqlClient.SqlException, Boolean)} 晕死了,,在用SqlDataReader读取数据的时候出了这个异常,是什么原因啊请教高手
在线等,来都给分
解决方案 »
- 跪求高手帮忙:要ASP.NET首页是滚动的图片缩略图 点击进入后是图片列表 怎么实现啊
- 走过路过,进来看看,请教一个小功能(分享到QQ,人人网等功能),实现方法(在线等)
- ASP.net2.0可以用DataGrid吗?
- 在DataList嵌套DropDownList问题
- asp.net怎么生成随机数啊,,,急!!!头都大了
- 用过Microsoft.Web.UI.WebControls的进,我的ToolBar怎么不行啊
- 請教asp.net高手
- 关于输出文本到页面的问题。
- 查询问题
- 【高手请进】如何获取 TreeView WebControl 中 CheckBox的值
- 我承认!自己的技术水平 == 中国国足的水平
- asp.net 一行显示两条信息
public static DataTable ExecuteAll(string sql)
{
DataTable table = new DataTable();
SqlConnection con = new SqlConnection(SQL_CON);
SqlDataAdapter ada = new SqlDataAdapter(sql, con);
ada.Fill(table);
return table;
}
返回一个表的信息
然后
void AddList(List<User> list, DataTable table)
{
for (int i = 0; i < table.Rows.Count;i++ )
{
User user = new User();
user.Id = (Int32)table.Rows[i]["id"];
user.LoginId = table.Rows[i]["loginid"].ToString();
user.LoginPwd = table.Rows[i]["loginpwd"].ToString();
user.Name = table.Rows[i]["name"].ToString();
user.Address = table.Rows[i]["address"].ToString();
user.Phone = table.Rows[i]["phone"].ToString();
user.UserRoleFK = (new UserRoleDAL()).SelectById((Int32)table.Rows[i]["userroleid"]); user.UserStateFK = (new UserStateDAL()).SelectById((Int32)table.Rows[i]["userstate"]);
}
}
我想如果是高手应该都能看明白,,在进行外键查询用的是SqlDataReader,就出了上面的异常,,高手说下啊分不够,我在加
{
try
{
con = new SqlConnection(SQL_CON);
SqlCommand cmd = new SqlCommand(sql, con);
ExecuteCmd(cmd, param, con, cmdType, sql);
SqlDataReader red = cmd.ExecuteReader(); return red;
}
catch (Exception ex)
{
throw;
}
}打红色的是我的61行代码
private static IList<Schedule> GetScheduleBySql(string sql)
{
IList<Schedule> list = new List<Schedule>();
int meet;
string user; try
{
using (DataTable dt = DBHelper.GetDateTable(sql))
{
foreach (DataRow dr in dt.Rows)
{
Schedule sch = new Schedule();
sch.ScheduleId = (int)dr["ScheduleId"];
sch.Title = (string)dr["Title"];
sch.Address = (string)dr["Address"];
sch.BeginTime = (DateTime)dr["BeginTime"];
sch.EndTime = (DateTime)dr["EndTime"];
sch.SchContent = (string)dr["SchContent"];
sch.CreateTime = (DateTime)dr["CreateTime"];
sch.IfPrivate = (int)dr["IfPrivate"];
meet = (int)dr["MeetingId"]; //外键
user = (string)dr["CreateUser"]; //外键 sch.Meeting = (MeetingInfo)MeetingInfoService.GetMeetingInfoById(meet);
sch.CreateUser = (UserInfo)UserInfoService.GetUserInfoByUserId(user); list.Add(sch);
}
return list;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw ex;
}
或在cmd中执行数据库连接打开?
这一句很重要
'userrole' 有问题 改改 试试
你返回的是一个角色实体,可是你此时要赋值只是一个普通的数据类型
我想应该是(new UserRoleDAL()).SelectById((Int32)table.Rows[i]["userroleid"]).Id之类的属性吧
检查一下你的SQL语句和SqlParameter部分,是不是有名称与实际不一致下面方法执行后,连接是乎没有关闭
public static DataTable ExecuteAll(string sql)
{
DataTable table = new DataTable();
SqlConnection con = new SqlConnection(SQL_CON);
SqlDataAdapter ada = new SqlDataAdapter(sql, con);
ada.Fill(table);
return table;
}
[System.Data.SqlClient.SqlException]: {"Invalid object name 'userrole'."}
Data: {System.Collections.ListDictionaryInternal} 这就是错误
你看看传的参数
{
DataTable table = new DataTable();
SqlConnection con = new SqlConnection(SQL_CON);
SqlDataAdapter ada = new SqlDataAdapter(sql, con);
ada.Fill(table);
return table;
}
返回一个表的信息
然后
void AddList(List <User> list, DataTable table)
{
foreach(DataRow i in DataTable.rows) {
User user = new User();
user.Id = Convert.ToInt32(i["id"]);
user.LoginId = i["loginid"].ToString();
user.LoginPwd = i["loginpwd"].ToString();
user.Name = i["name"].ToString();
user.Address = i["address"].ToString();
user.Phone = i["phone"].ToString();
// user.UserRoleFK = (new UserRoleDAL()).SelectById((Int32)table.Rows[i]["userroleid"]); // user.UserStateFK = (new UserStateDAL()).SelectById((Int32)table.Rows[i]["userstate"]); 看不懂你这两句
user.UserRoleFK=Convert.ToInt32(i["useroleid"])
user.UserStateFK=Convert.ToInt32(i["userstate"])
//这样写看怎么样,如果错了,你就当我是来蹭分来的
}
}