[英]Error in Mysql in Visual Studio 2010
我在Visual Studio 2010 C#項目中遇到此錯誤。 我使用版本6.8.3.0的Mysql驅動程序建立了到mysql服務器(通過mysql workbench 6.1創建)的連接,並成功建立了到mysql服務器(通過visual studio創建)的連接,但是當我的軟件運行時,此行出現錯誤。 我在互聯網上搜索發現是遠程連接問題。 但是,如果我的連接建立良好,那么這將不是問題,並且根據錯誤說它在sql查詢中存在問題。 但這是一個簡單的select語句(SELECT * FROM case)。任何解決方案或建議都值得贊賞。
在下面的代碼節中using (MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader())
。
String connectionString = "server = localhost; user id = XXX; password = XXX; database = XXXX";
MySqlConnection connection = new MySqlConnection(connectionString);
connection.Open();
String searchString = "SELECT * FROM case" ;
using (MySqlCommand mySqlCommand = new MySqlCommand(searchString, connection))
{
// mySqlCommand.Parameters.AddWithValue("@caseId", textBox1.Text);
using (MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader())
{
String sb;
sb = mySqlDataReader.GetInt32(0).ToString();
MessageBox.Show(sb);
我得到的部分錯誤是這樣的。
MySql.Data.MySqlClient.MySqlException was unhandled
Message=You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'case' at line 1
Source=MySql.Data
ErrorCode=-2147467259 Number=1064 StackTrace:
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at CaseFinder.Form1.button1_Click(Object sender, EventArgs e) in
CASE
是MySQL中的關鍵字。 如果要從名為“ case”的表中進行選擇,請嘗試用反引號(`)進行包裝,例如:
String searchString = "SELECT * FROM `case`" ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.