ASP.NET的SqlDataReader代码存在以下问题

stringstrconn="DataSource=.;InitialCatalog=YXZX;UserID=sa;Password=sa";SqlConnections... string strconn = "Data Source=.;Initial Catalog=YXZX;User ID=sa;Password=sa";
SqlConnection sqlconn = new SqlConnection(strconn);
sqlconn.Open();
this.Label1.Text = sqlconn.Database.ToString();
SqlCommand mycomm = new SqlCommand("select * from user",sqlconn);
SqlDataReader sdr = mycomm.ExecuteReader();
this.DropDownList1.DataSource = sdr;
this.DropDownList1.DataTextField = "name";
this.DropDownList1.DataValueField = "id";
this.DropDownList1.DataBind();
存在的问题:
用户代码未处理 System.Data.SqlClient.SqlException
Message="在关键字 'user' 附近有语法错误。"
Source=".Net SqlClient Data Provider"
ErrorCode=-2146232060
Class=15
LineNumber=1
Number=156
Procedure=""
Server="."
State=1
StackTrace:
在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
在 System.Data.SqlClient.SqlDataReader.get_MetaData()
在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
在 System.Data.SqlClient.SqlCommand.ExecuteReader()
在 _Default.Page_Load(Object sender, EventArgs e) 位置 c:\Inetpub\wwwroot\DATABASE1\Default.aspx.cs:行号 23
在 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
展开
 我来答
白熊游戏chutianbo
2011-05-06 · TA获得超过164个赞
知道小有建树答主
回答量:190
采纳率:70%
帮助的人:94.1万
展开全部
select * from user
这个有毛病。
user本身在Sql中也算是关键字,所以你把它用作表名就和关键字冲突了,这是我的学生经常犯的毛病。
到数据库中,把user表名改成别的,比如userInfo,就没问题了
注意,改完后,代码里的也要对应更改
select * from userInfo
zhuxinjun1982
2011-05-06 · 知道合伙人互联网行家
zhuxinjun1982
知道合伙人互联网行家
采纳数:2145 获赞数:8328
毕业于上海行健职业学院,大专学历;2007~2009在北大青鸟进修网络编程课目。现任网络主管,平时爱好上网。

向TA提问 私信TA
展开全部
user是保留字,是关键字,在sql语句中你必须把user写成[user]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
射手幽灵伊
2011-05-06 · TA获得超过2715个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1918万
展开全部
user是关键字,不能作为表名,换一个表名试试或是写成 [user]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0ce13bd6f
2011-05-06
知道答主
回答量:28
采纳率:0%
帮助的人:16.2万
展开全部
user貌似被系统用了,你不能再用这个命名表。改一下表的名字试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式