昨天老師講數(shù)據(jù)庫(kù)編程我再次做了老師的demo時(shí),連接數(shù)據(jù)庫(kù)可以成功但是老是提示:在關(guān)鍵字User附近有語(yǔ)法錯(cuò)誤 錯(cuò)誤如下: 在關(guān)鍵字 ‘user’ 附近有語(yǔ)法錯(cuò)誤。 異常詳細(xì)信息: System.Data.SqlClient.SqlException: 在關(guān)鍵字 ‘user’ 附近有語(yǔ)法錯(cuò)誤。
源錯(cuò)誤: 行 38: Response.Write(MySQL);行 39: SqlCommand mycmd=new SqlCommand(mysql,myconn);行 40: SqlDataReader mydr = mycmd.ExecuteReader();行 41: try行 42: {源文件: c:/Inetpub/wwwroot/vote/login.aspx.cs 行: 40 string UserName = tbxaccount.Text.ToString(); string PassWord = tbxpwd.Text.ToString(); if (UserName == "" | Password == "") { lblerr.Visible = true; lblerr.Text = "請(qǐng)輸入用戶名和密碼"; } else { string settings=Convert.ToString(ConfigurationManager.ConnectionStrings["MySqlConnection"]); SqlConnection myconn=new SqlConnection(settings); myconn.Open(); string mysql = "select * from user where userName="+"'"+UserName+"'"+"And userPwd=" + "'" + Password + " ' "; SqlCommand mycmd=new SqlCommand(mysql,myconn); SqlDataReader mydr = mycmd.ExecuteReader(); try { if(mydr.Read()) { lblerr.Visible = true; lblerr.Text = "登錄成功"; } else { lblerr.Visible=true; lblerr.Text="用戶名或密碼錯(cuò)誤"; } } finally { mydr.Close(); myconn.Close(); } }后來(lái)才發(fā)現(xiàn)原來(lái)是關(guān)鍵字的原因: string mysql = “select * from user where userName=”+”’”+UserName+”’”+”And userPwd=” + “’” + Password + ” ’ “;
user屬于sql里的關(guān)鍵字,所以會(huì)報(bào)錯(cuò),一般不要用關(guān)鍵字作為表名,如果關(guān)鍵字做表名用[]括起來(lái),
string mysql = “select * from [user] where userName=”+”’”+UserName+”’”+”And userPwd=” + “’” + Password + ” ’ “;
問(wèn)題就這樣解決了哈哈哈
新聞熱點(diǎn)
疑難解答
圖片精選