title: C# with MySQL through Connector/NET
body: <p>I'm developing CMS application in C#(4.0 Framework) which connects to MySQL database (5.0.95) on remote server
  by MySQL Connector (6.5.4).</p>
  
  <p>I have problem with executing queries.</p>
  
  <p>e.g.
  My connection string:</p>
  
  <pre><code>"Server=" + Options.DbServer + ";Database="+ Options.Database +";Uid=" + Options.DbUser + ";Pwd=" + Options.DbPassword + ";CharSet=utf8; Connect Timeout=30;";
  </code></pre>
  
  <p>I have static class which manages database related stuff, and there I have private member _connection.</p>
  
  <pre><code>private static MySqlConnection _connection;
  public static MySqlConnection Connection
  { 
      get
      {
          if (_connection.State != ConnectionState.Open)
              _connection.Open();
  
          return _connection;
      } 
      set { _connection = value; }
  }
  </code></pre>
  
  <p>This is method which initializes connection:</p>
  
  <pre><code>public static bool Init(string cs)
  {
      _connection = new MySqlConnection(cs);
      MySqlCommand command = new MySqlCommand("SET NAMES utf8", Connection);
      command.ExecuteNonQuery();
      return true;
  }
  </code></pre>
  
  <p>This is method where I get exception:</p>
  
  <pre><code>public static bool InsertRecord(MySqlCommand command)
  {
      command.Connection = Connection;
      if(command.ExecuteNonQuery() &gt; 0)
          return true;
  
      return false;
  }
  </code></pre>
  
  <p><code>command.ExecuteNonQuery()</code> throws exception: Fatal error encountered during command execution.</p>
  
  <p>This is stack trace...</p>
  
  <pre><code>MySql.Data.MySqlClient.MySqlException was unhandled
    Message=Fatal error encountered during command execution.
    Source=MySql.Data
    ErrorCode=-2147467259
    Number=0
    StackTrace:
         at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
         at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
         at CMS.Database.InsertRecord(MySqlCommand command) in C:\_myStuff\VS2010\CMS\CMS\Database.cs:line 95
         at CMS.frmAddItem.btnDo_Click(Object sender, EventArgs e) in C:\_myStuff\VS2010\CMS\CMS\frmAddItem.cs:line 138
         at System.Windows.Forms.Control.OnClick(EventArgs e)
         at System.Windows.Forms.Button.OnClick(EventArgs e)
         at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
         at System.Windows.Forms.Control.WmMouseUp(Message&amp; m, MouseButtons button, Int32 clicks)
         at System.Windows.Forms.Control.WndProc(Message&amp; m)
         at System.Windows.Forms.ButtonBase.WndProc(Message&amp; m)
         at System.Windows.Forms.Button.WndProc(Message&amp; m)
         at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp; m)
         at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
         at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
         at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp; msg)
         at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
         at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
         at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
         at System.Windows.Forms.Application.RunDialog(Form form)
         at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
         at System.Windows.Forms.Form.ShowDialog()
         at CMS.frmMain.btnNovi_Click(Object sender, EventArgs e) in C:\_myStuff\VS2010\CMS\CMS\frmMain.cs:line 381
         at System.Windows.Forms.Control.OnClick(EventArgs e)
         at System.Windows.Forms.Button.OnClick(EventArgs e)
         at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
         at System.Windows.Forms.Control.WmMouseUp(Message&amp; m, MouseButtons button, Int32 clicks)
         at System.Windows.Forms.Control.WndProc(Message&amp; m)
         at System.Windows.Forms.ButtonBase.WndProc(Message&amp; m)
         at System.Windows.Forms.Button.WndProc(Message&amp; m)
         at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp; m)
         at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
         at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
         at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp; msg)
         at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
         at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
         at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
         at System.Windows.Forms.Application.RunDialog(Form form)
         at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
         at System.Windows.Forms.Form.ShowDialog()
         at CMS.frmLogin.DoLogin() in C:\_myStuff\VS2010\CMS\CMS\frmLogin.cs:line 55
         at CMS.frmLogin.button2_Click(Object sender, EventArgs e) in C:\_myStuff\VS2010\CMS\CMS\frmLogin.cs:line 31
         at System.Windows.Forms.Control.OnClick(EventArgs e)
         at System.Windows.Forms.Button.OnClick(EventArgs e)
         at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
         at System.Windows.Forms.Control.WmMouseUp(Message&amp; m, MouseButtons button, Int32 clicks)
         at System.Windows.Forms.Control.WndProc(Message&amp; m)
         at System.Windows.Forms.ButtonBase.WndProc(Message&amp; m)
         at System.Windows.Forms.Button.WndProc(Message&amp; m)
         at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp; m)
         at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
         at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
         at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp; msg)
         at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
         at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
         at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
         at System.Windows.Forms.Application.Run(Form mainForm)
         at CMS.Program.Main() in C:\_myStuff\VS2010\CMS\CMS\Program.cs:line 18
         at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
         at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
         at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
         at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
         at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
         at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
         at System.Threading.ThreadHelper.ThreadStart()
    InnerException: MySql.Data.MySqlClient.MySqlException
         Message=Fatal error encountered attempting to read the resultset.
         Source=MySql.Data
         ErrorCode=-2147467259
         Number=0
         StackTrace:
              at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
              at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
         InnerException: MySql.Data.MySqlClient.MySqlException
              Message=Reading from the stream has failed.
              Source=MySql.Data
              ErrorCode=-2147467259
              Number=0
              StackTrace:
                   at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
                   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
                   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32&amp; affectedRow, Int32&amp; insertedId)
                   at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32&amp; affectedRows, Int32&amp; insertedId)
                   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
                   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
              InnerException: System.IO.EndOfStreamException
                   Message=Attempted to read past the end of the stream.
                   Source=MySql.Data
                   StackTrace:
                        at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
                        at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
                   InnerException:
  </code></pre>
  
  <p>Any suggestions?</p>