asp.net执行SqlDataReader dr = Com.ExecuteReader();时出错

我的代码片段是这样的:
SqlConnection Con = new SqlConnection(ConfigurationManager.AppSettings["ConSQL"]);
Con.Open();
SqlCommand Com = new SqlCommand("select * from User where NickName='" + this.txtName.Text + "' and UserPwd='" + this.txtPwd.Text + "' and NoAdmin='1'", Con);
SqlDataReader dr = Com.ExecuteReader();
dr.Read();
if (dr.HasRows)
{
Session["NickName"] = dr["NickName"].ToString();
Session["UserName"] = dr["UserName"].ToString();
Session["UserPwd"] = dr["UserPwd"].ToString();
Session["NoAdmin"] = dr["NoAdmin"].ToString();
}
在SqlDataReader dr = Com.ExecuteReader();提示出错,异常详细信息: System.Data.SqlClient.SqlException: 关键字 'User' 附近有语法错误。
哪位高手帮忙解答下啊

错误的原因有两个:一个是表'User'这个表名是关键字,你换个表名.
另一个是:SqlDataReader是抽象类,不能被实例化.
把你的SqlDataReader dr = Com.ExecuteReader();这句代码该为:

SqlDataReader dr;
dr=Com.ExecuteReader();
温馨提示:内容为网友见解,仅供参考
无其他回答

asp.net执行SqlDataReader dr = Com.ExecuteReader();时出错
错误的原因有两个:一个是表'User'这个表名是关键字,你换个表名.另一个是:SqlDataReader是抽象类,不能被实例化.把你的SqlDataReader dr = Com.ExecuteReader();这句代码该为:SqlDataReader dr;dr=Com.ExecuteReader();

...sqldatareader = sqlcommand.ExecuteReader();出现异常?
2、一个连接只能被一个SqlDataReader使用,这也是为什么要尽早关闭SqlDataReader的原因。 3、使用完SqlDataReader后,你可以在程序中显示的调用数据库连接对象的Close方法关闭连接,也可以在调用Command对象的ExecuteReader方法时传递CommandBehavior.CloseConnection 这个枚举变量,这样在调用SqlDataReader的Close方法...

SqlDataReader dr= comm.ExecuteReader();错误
string sqlstr = "update book2 set 借阅数量=借阅数量+" + textBox5.Text + " where 被借阅图书编号=" + textBox1.Text ;SqlCommand comm=new SqlCommand(sqlstr,conn);SqlCommand comm2 = new SqlCommand(sqlstr2, conn);conn.Open();SqlDataReader r = comm.ExecuteReader();if (r.Read...

急急急!asp.net数据查询结果无法显示,显示为“未实现该方法或操作”,求...
SqlDataReader dr = comm.ExecuteReader()是只读向前查询一行,要查多行要用循环,你可以用适配器啊 SqlDataAdapter da = new SqlDataAdapter(sql, cn);DataSet ds = new DataSet();da.Fill(ds, "zhuce");

dr = cmd.ExecuteReader();怎么一直抛出异常
这句错误:string s = "select * from tb_users where Name='" + this.textBox1.Text + "',Pwd='" + this.textBox2.Text + "'";应该是:string s = "select * from tb_users where Name='" + this.textBox1.Text + "' and Pwd='" + this.textBox2.Text + "'";...

...26: SqlDataReader rd = cmd.ExecuteReader(); 输入字符串的格式不...
Request.QueryString["bookid"].ToString();这个字符串里面包含字母或特殊字符了可能。因为 【("@BOOKID",SqlDbType.Int).】看起来应该是一个数值型的值。所以在执行语句时发生错误。

...SqlDataReader rd = mycommand.ExecuteReader();这句为红色 user附...
XX附近有语法错误基本都是SQL语句的问题,仔细看了下你的sql语句,user是关键字请把User用中括号包起来[user],还有记得TextBox中要对用户输入的字符做单引号屏蔽这样就没问题了.

...OleDbDataReader reader = cmd.ExecuteReader()时通不过,
1、首先Access的SQL语法你要弄清楚。2、为了安全性考虑,请使用OleDbParameter进行传参。3、where 元素=控件.Text 的方式你要加单引号。否则读不出来。4、如果使用OleDbParameter的方式传参,要注意参数是有顺序的。

ASP.NET的SqlDataReader代码存在以下问题
select * from user 这个有毛病。user本身在Sql中也算是关键字,所以你把它用作表名就和关键字冲突了,这是我的学生经常犯的毛病。到数据库中,把user表名改成别的,比如userInfo,就没问题了 注意,改完后,代码里的也要对应更改 select * from userInfo ...

在Asp.net中为什么会出现阅读器关闭时 Read 的尝试无效
是这样的,当你读数据库之前的时候,你把连接给关闭了,con.Close();这个代码不应该写在while(sr.Read())之前,应该写在sr.Close()之后,因为当连接关闭时,是不能读取的、所以是读取后在关闭连接。除非你用DataAdapter。因为用这个根本不需要打开连接。

相似回答
大家正在搜