代码如下
public static List<string[]> Select(string SqlUser, string SqlPsd, string Sqlcmd, string dbo,string sqlName)
{
MySqlConnection con = new MySqlConnection("Database='" + sqlName + "';Data Source='localhost';User Id='" + SqlUser + "';Password='" + SqlPsd + "'");
con.Open();
MySqlCommand cmd = new MySqlCommand("select * from " + dbo + " where (" + Sqlcmd + ")", con);
MySqlDataReader a = cmd.ExecuteReader();
List<string[]> Read = new List<string[]>();
while (a.Read())
{
List<string> b = new List<string>();
for (int i = 0; i < a.FieldCount; i++)
{
b.Add(a[i].ToString());
}
Read.Add(b.ToArray());
}
a.Close();
cmd.Dispose();
con.Close();
return Read;
}
要执行的语句是select * from 登录 where (1=1)
在MySqlDataReader a = cmd.ExecuteReader();报错:
[size=7px]发生了 MySql.Data.MySqlClient.MySqlException
HResult=0x80004005
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 '?? where (1=1)' at line 1
Source=MySql.Data
StackTrace:
在 MySql.Data.MySqlClient.MySqlStream.ReadPacket()
在 MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32& insertedId)
在 MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int32& insertedId)
在 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
在 MySql.Data.MySqlClient.MySqlDataReader.NextResult()
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
在 ChinaMineCraft_Server_2._0.Sql.Select(String SqlUser, String SqlPsd, String Sqlcmd, String dbo, String sqlName) 在 C:\Users\姬逍遥\documents\visual studio 2017\Projects\ChinaMineCraft Server 2.0\ChinaMineCraft Server 2.0\Sql.cs 中: 第 18 行
在 ChinaMineCraft_Server_2._0.Form1.Form1_Load(Object sender, EventArgs e) 在 C:\Users\姬逍遥\documents\visual studio 2017\Projects\ChinaMineCraft Server 2.0\ChinaMineCraft Server 2.0\Form1.cs 中: 第 42 行
在 System.Windows.Forms.Form.OnLoad(EventArgs e)
在 System.Windows.Forms.Form.OnCreateControl()
在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
在 System.Windows.Forms.Control.CreateControl()
在 System.Windows.Forms.Control.WmShowWindow(Message& m)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
在 System.Windows.Forms.Form.WmShowWindow(Message& m)
在 System.Windows.Forms.Form.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)[/size]
这样子报错
但是mysql可视化操作软件却执行正常