在我的网站上,我正在使用MySQL数据库。我正在使用Web服务,在其中执行所有与数据库有关的操作。
现在,在该Web服务的一种方法中,出现以下错误。
选择拒绝表“”的用户“ @”的命令
有什么事吗
下面是我得到该错误的代码。我尝试调试,发现它失败了
MySqlDataReader result1 = command1.ExecuteReader();
这是我的代码:
String addSQL = "Select Max(`TradeID`) from `jsontest`.`tbl_Positions"; MySqlConnection objMyCon = new MySqlConnection(strProvider); objMyCon.Open(); MySqlCommand command = objMyCon.CreateCommand(); command.CommandText = addSQL; MySqlDataReader result = command.ExecuteReader(); //int j = command.ExecuteNonQuery(); while (result.Read()) { MaxTradeID = Convert.ToInt32(result[0]); } objMyCon.Close(); for (i = 1; i <= MaxTradeID; i++) { String newSQL = "Select `Strike`,`LongShort`,`Current`,`TPLevel`,`SLLevel` from `json`.`tbl_Position` where `TradeID` = '" + i + "'"; MySqlConnection objMyCon1 = new MySqlConnection(strProvider); objMyCon1.Open(); MySqlCommand command1 = objMyCon1.CreateCommand(); command1.CommandText = newSQL; MySqlDataReader result1 = command1.ExecuteReader(); objMyCon2.Close();
数据库用户无权执行选择查询。
如果您具有mysql的root访问权限,则可以向用户授予权限
http://dev.mysql.com/doc/refman/5.1/en/grant.html
您的第二个查询在不同表上的不同数据库上。
String newSQL = "Select `Strike`,`LongShort`,`Current`,`TPLevel`,`SLLevel` from `json`.`tbl_Position` where `TradeID` = '" + i + "'";
与您连接的用户无权访问该数据库或特定表中的数据。
你考虑过这件事吗?