diff -Nru ml-o2/class/Makefile.am ml-pnet-0.6.8/class/Makefile.am
--- ml-o2/class/Makefile.am	2004-08-07 03:57:03.000000000 -0400
+++ ml-pnet-0.6.8/class/Makefile.am	2004-08-08 14:24:25.000000000 -0400
@@ -27,6 +27,7 @@
 		  Novell.Directory.Ldap \
 		  System.DirectoryServices \
 		  Mono.Security.Win32 \
-		  Mono.Http 
+		  Mono.Http \
+		  ByteFX.Data
 
 #		  Mono.Posix
diff -Nru ml-o2/configure.in ml-pnet-0.6.8/configure.in
--- ml-o2/configure.in	2004-08-07 20:01:30.000000000 -0400
+++ ml-pnet-0.6.8/configure.in	2004-08-08 14:24:25.000000000 -0400
@@ -300,6 +300,7 @@
 class/Mono.Security.Win32/Makefile
 class/System.Security/Makefile
 class/Mono.Http/Makefile
+class/ByteFX.Data/Makefile
 nunit20/Makefile
 nunit20/framework/Makefile
 nunit20/core/Makefile
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/Common/DBParametersEditor.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/Common/DBParametersEditor.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/Common/DBParametersEditor.cs	2004-05-17 23:16:43.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/Common/DBParametersEditor.cs	1969-12-31 19:00:00.000000000 -0500
@@ -1,59 +0,0 @@
-// ByteFX.Data data access components for .Net
-// Copyright (C) 2002-2003  ByteFX, Inc.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// 
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-// 
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-using System;
-using System.ComponentModel.Design;
-using ByteFX.Data.MySqlClient;
-
-namespace ByteFX.Data.Common
-{
-	/// <summary>
-	/// Summary description for DBParametersEditor.
-	/// </summary>
-	internal class DBParametersEditor : CollectionEditor
-	{
-		public DBParametersEditor(Type t) : base(t)
-		{
-		}
-
-		protected override object CreateInstance(Type itemType)
-		{
-			object[] items = base.GetItems(null);
-
-			int i = 1;
-			while (true) 
-			{
-				bool found = false;
-				foreach (object obj in items) 
-				{
-					MySqlParameter p = (MySqlParameter)obj;
-					if (p.ParameterName.Equals( "parameter" + i )) 
-					{
-						found = true;
-						break;
-					}
-				}
-				if (! found) break;
-				i ++;
-			}
-
-			MySqlParameter parm = new MySqlParameter("parameter"+i, MySqlDbType.VarChar);
-			return parm;
-		}
-
-	}
-}
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/Common/SqlCommandEditorDlg.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/Common/SqlCommandEditorDlg.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/Common/SqlCommandEditorDlg.cs	2003-10-05 17:20:04.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/Common/SqlCommandEditorDlg.cs	1969-12-31 19:00:00.000000000 -0500
@@ -1,244 +0,0 @@
-// ByteFX.Data data access components for .Net
-// Copyright (C) 2002-2003  ByteFX, Inc.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// 
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-// 
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-using System;
-using System.Windows.Forms;
-using System.Data;
-using ByteFX.Data.MySqlClient;
-
-namespace ByteFX.Data.Common
-{
-	/// <summary>
-	/// Summary description for SqlCommandEditorDlg.
-	/// </summary>
-	internal class SqlCommandEditorDlg : System.Windows.Forms.Form
-	{
-		private System.Windows.Forms.TextBox		sqlText;
-		private System.Windows.Forms.Button			CancelBtn;
-		private System.Windows.Forms.Button			OKBtn;
-		private System.Windows.Forms.Panel			panel1;
-		private System.Windows.Forms.Splitter		splitter1;
-		private System.Windows.Forms.DataGrid		dataGrid;
-		private System.Windows.Forms.ContextMenu	sqlMenu;
-		private System.Windows.Forms.MenuItem		runMenuItem;
-		private	IDbCommand							command;
-		private System.Windows.Forms.DataGridTableStyle dataGridTableStyle1;
-
-		/// <summary>
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.Container components = null;
-
-		public SqlCommandEditorDlg(object o)
-		{
-			command = (IDbCommand)o;
-
-			InitializeComponent();
-		}
-
-		/// <summary>
-		/// Clean up any resources being used.
-		/// </summary>
-		protected override void Dispose( bool disposing )
-		{
-			if( disposing )
-			{
-				if(components != null)
-				{
-					components.Dispose();
-				}
-			}
-			base.Dispose( disposing );
-		}
-
-		public string SQL 
-		{
-			get { return sqlText.Text; }
-			set { sqlText.Text = value; }
-		}
-
-		#region Windows Form Designer generated code
-		/// <summary>
-		/// Required method for Designer support - do not modify
-		/// the contents of this method with the code editor.
-		/// </summary>
-		private void InitializeComponent()
-		{
-			this.sqlText = new System.Windows.Forms.TextBox();
-			this.sqlMenu = new System.Windows.Forms.ContextMenu();
-			this.runMenuItem = new System.Windows.Forms.MenuItem();
-			this.CancelBtn = new System.Windows.Forms.Button();
-			this.OKBtn = new System.Windows.Forms.Button();
-			this.panel1 = new System.Windows.Forms.Panel();
-			this.splitter1 = new System.Windows.Forms.Splitter();
-			this.dataGrid = new System.Windows.Forms.DataGrid();
-			this.dataGridTableStyle1 = new System.Windows.Forms.DataGridTableStyle();
-			this.panel1.SuspendLayout();
-			((System.ComponentModel.ISupportInitialize)(this.dataGrid)).BeginInit();
-			this.SuspendLayout();
-			// 
-			// sqlText
-			// 
-			this.sqlText.ContextMenu = this.sqlMenu;
-			this.sqlText.Dock = System.Windows.Forms.DockStyle.Top;
-			this.sqlText.Location = new System.Drawing.Point(10, 10);
-			this.sqlText.Multiline = true;
-			this.sqlText.Name = "sqlText";
-			this.sqlText.Size = new System.Drawing.Size(462, 144);
-			this.sqlText.TabIndex = 0;
-			this.sqlText.Text = "";
-			// 
-			// sqlMenu
-			// 
-			this.sqlMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-																					this.runMenuItem});
-			// 
-			// runMenuItem
-			// 
-			this.runMenuItem.Index = 0;
-			this.runMenuItem.Text = "Run";
-			this.runMenuItem.Click += new System.EventHandler(this.runMenuItem_Click);
-			// 
-			// CancelBtn
-			// 
-			this.CancelBtn.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right);
-			this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
-			this.CancelBtn.Location = new System.Drawing.Point(400, 350);
-			this.CancelBtn.Name = "CancelBtn";
-			this.CancelBtn.TabIndex = 3;
-			this.CancelBtn.Text = "Cancel";
-			this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click);
-			// 
-			// OKBtn
-			// 
-			this.OKBtn.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right);
-			this.OKBtn.DialogResult = System.Windows.Forms.DialogResult.OK;
-			this.OKBtn.Location = new System.Drawing.Point(316, 350);
-			this.OKBtn.Name = "OKBtn";
-			this.OKBtn.TabIndex = 4;
-			this.OKBtn.Text = "OK";
-			this.OKBtn.Click += new System.EventHandler(this.OKBtn_Click);
-			// 
-			// panel1
-			// 
-			this.panel1.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right);
-			this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] {
-																				 this.splitter1,
-																				 this.dataGrid,
-																				 this.sqlText});
-			this.panel1.DockPadding.Bottom = 10;
-			this.panel1.DockPadding.Left = 10;
-			this.panel1.DockPadding.Right = 14;
-			this.panel1.DockPadding.Top = 10;
-			this.panel1.Location = new System.Drawing.Point(2, 2);
-			this.panel1.Name = "panel1";
-			this.panel1.Size = new System.Drawing.Size(486, 344);
-			this.panel1.TabIndex = 5;
-			// 
-			// splitter1
-			// 
-			this.splitter1.Dock = System.Windows.Forms.DockStyle.Top;
-			this.splitter1.Location = new System.Drawing.Point(10, 154);
-			this.splitter1.Name = "splitter1";
-			this.splitter1.Size = new System.Drawing.Size(462, 3);
-			this.splitter1.TabIndex = 3;
-			this.splitter1.TabStop = false;
-			// 
-			// dataGrid
-			// 
-			this.dataGrid.CaptionVisible = false;
-			this.dataGrid.DataMember = "";
-			this.dataGrid.Dock = System.Windows.Forms.DockStyle.Fill;
-			this.dataGrid.HeaderForeColor = System.Drawing.SystemColors.ControlText;
-			this.dataGrid.Location = new System.Drawing.Point(10, 154);
-			this.dataGrid.Name = "dataGrid";
-			this.dataGrid.Size = new System.Drawing.Size(462, 180);
-			this.dataGrid.TabIndex = 2;
-			this.dataGrid.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {
-																								 this.dataGridTableStyle1});
-			// 
-			// dataGridTableStyle1
-			// 
-			this.dataGridTableStyle1.AllowSorting = false;
-			this.dataGridTableStyle1.DataGrid = this.dataGrid;
-			this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
-			this.dataGridTableStyle1.MappingName = "";
-			// 
-			// SqlCommandEditorDlg
-			// 
-			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-			this.ClientSize = new System.Drawing.Size(486, 384);
-			this.ControlBox = false;
-			this.Controls.AddRange(new System.Windows.Forms.Control[] {
-																		  this.panel1,
-																		  this.OKBtn,
-																		  this.CancelBtn});
-			this.DockPadding.Bottom = 10;
-			this.DockPadding.Left = 10;
-			this.DockPadding.Right = 12;
-			this.DockPadding.Top = 10;
-			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
-			this.Name = "SqlCommandEditorDlg";
-			this.Text = "Query Builder";
-			this.panel1.ResumeLayout(false);
-			((System.ComponentModel.ISupportInitialize)(this.dataGrid)).EndInit();
-			this.ResumeLayout(false);
-
-		}
-		#endregion
-
-		private void CancelBtn_Click(object sender, System.EventArgs e)
-		{
-			this.Close();
-		}
-
-		private void OKBtn_Click(object sender, System.EventArgs e)
-		{
-			this.Close();
-		}
-
-		private void runMenuItem_Click(object sender, System.EventArgs e)
-		{
-			if (command is MySqlCommand)
-			{
-				RunMySql(); 
-			}
-		}
-
-		private void RunMySql() 
-		{
-			try 
-			{
-				MySqlDataAdapter da = new MySqlDataAdapter((MySqlCommand)command);
-				command.CommandText = sqlText.Text;
-				command.Connection.Open();
-				DataTable dt = new DataTable();
-				da.Fill(dt);
-				dataGrid.DataSource = dt;
-				command.Connection.Close();
-				dataGrid.Expand(-1);
-			}
-			catch (Exception ex) 
-			{
-				MessageBox.Show(ex.Message);
-			}
-		}
-
-	}
-}
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/Common/SqlCommandTextEditor.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/Common/SqlCommandTextEditor.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/Common/SqlCommandTextEditor.cs	2003-11-30 23:20:35.000000000 -0500
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/Common/SqlCommandTextEditor.cs	1969-12-31 19:00:00.000000000 -0500
@@ -1,63 +0,0 @@
-// ByteFX.Data data access components for .Net
-// Copyright (C) 2002-2003  ByteFX, Inc.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// 
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-// 
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-#if WINDOWS
-using System;
-using System.Windows.Forms;
-using System.Drawing.Design;
-
-namespace ByteFX.Data.Common
-{
-	/// <summary>
-	/// Summary description for MySqlConnectionDesign.
-	/// </summary>
-	internal class SqlCommandTextEditor : UITypeEditor
-	{
-		public override System.Drawing.Design.UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context)
-		{
-			return System.Drawing.Design.UITypeEditorEditStyle.Modal;
-		}
-
-		public override bool GetPaintValueSupported(System.ComponentModel.ITypeDescriptorContext context)
-		{
-			return false;
-		}
-
-		public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value)
-		{
-			System.Data.IDbCommand command = (System.Data.IDbCommand)context.Instance;
-
-			if (command.Connection == null) 
-			{
-				MessageBox.Show("Connection property not set to a valid connection.\n"+
-					"Please set and try again", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
-				return value;
-			}
-
-			SqlCommandEditorDlg dlg = new SqlCommandEditorDlg( command );
-
-			dlg.SQL = (string)value;
-			if(dlg.ShowDialog() == DialogResult.OK)
-			{
-				return dlg.SQL;
-			}
-			else
-				return value;
-		}
-	}
-}
-#endif
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Connection.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Connection.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Connection.cs	2004-05-17 23:16:42.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Connection.cs	2004-08-08 14:30:03.000000000 -0400
@@ -29,9 +29,6 @@
 	/// Represents an open connection to a MySQL Server database. This class cannot be inherited.
 	/// </summary>
 	/// <include file='docs/MySqlConnection.xml' path='MyDocs/MyMembers[@name="Class"]/*'/>
-	[System.Drawing.ToolboxBitmap( typeof(MySqlConnection), "MySqlClient.resources.connection.bmp")]
-	[System.ComponentModel.DesignerCategory("Code")]
-	[ToolboxItem(true)]
 	public sealed class MySqlConnection : Component, IDbConnection, ICloneable
 	{
 		internal ConnectionState			state;
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/ConnectionString.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/ConnectionString.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/ConnectionString.cs	2004-05-17 23:16:42.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/ConnectionString.cs	2004-08-08 14:30:13.000000000 -0400
@@ -81,7 +81,6 @@
 
 		[Category("Connection")]
 		[Description("Database to use initially")]
-		[Editor("ByteFX.Data.MySqlClient.Design.DatabaseTypeEditor,MySqlClient.Design", typeof(System.Drawing.Design.UITypeEditor))]
 		public string Database
 		{
 			get { return GetString("database"); }
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/EditConnectionString.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/EditConnectionString.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/EditConnectionString.cs	2003-10-05 17:18:15.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/EditConnectionString.cs	1969-12-31 19:00:00.000000000 -0500
@@ -1,310 +0,0 @@
-// ByteFX.Data data access components for .Net
-// Copyright (C) 2002-2003  ByteFX, Inc.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// 
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-// 
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-using System;
-using System.Collections;
-using System.ComponentModel;
-#if WINDOWS
-using System.Drawing;
-using System.Windows.Forms;
-#endif
-
-namespace ByteFX.Data.MySqlClient.Designers
-{
-#if WINDOWS
-	/// <summary>
-	/// Summary description for EditConnectionString.
-	/// </summary>
-	public class EditConnectionString : System.Windows.Forms.Form
-	{
-		private System.Windows.Forms.Button buttonOK;
-		private System.Windows.Forms.Button buttonCancel;
-		private System.Windows.Forms.Label label1;
-		private System.Windows.Forms.TextBox textServer;
-		private System.Windows.Forms.TextBox textUser;
-		private System.Windows.Forms.Label label2;
-		private System.Windows.Forms.TextBox textPassword;
-		private System.Windows.Forms.Label label3;
-		private System.Windows.Forms.ComboBox comboDatabase;
-		private System.Windows.Forms.Label label4;
-		private System.Windows.Forms.Label label5;
-		private System.Windows.Forms.TextBox textPort;
-		private System.Windows.Forms.CheckBox useCompression;
-		/// <summary>
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.Container components = null;
-
-		public EditConnectionString()
-		{
-			//
-			// Required for Windows Form Designer support
-			//
-			InitializeComponent();
-
-			//
-			// TODO: Add any constructor code after InitializeComponent call
-			//
-		}
-
-		public string ConnectionString;
-
-		/// <summary>
-		/// Clean up any resources being used.
-		/// </summary>
-		protected override void Dispose( bool disposing )
-		{
-			if( disposing )
-			{
-				if(components != null)
-				{
-					components.Dispose();
-				}
-			}
-			base.Dispose( disposing );
-		}
-
-		#region Windows Form Designer generated code
-		/// <summary>
-		/// Required method for Designer support - do not modify
-		/// the contents of this method with the code editor.
-		/// </summary>
-		private void InitializeComponent()
-		{
-			this.buttonOK = new System.Windows.Forms.Button();
-			this.buttonCancel = new System.Windows.Forms.Button();
-			this.label1 = new System.Windows.Forms.Label();
-			this.textServer = new System.Windows.Forms.TextBox();
-			this.textUser = new System.Windows.Forms.TextBox();
-			this.label2 = new System.Windows.Forms.Label();
-			this.textPassword = new System.Windows.Forms.TextBox();
-			this.label3 = new System.Windows.Forms.Label();
-			this.comboDatabase = new System.Windows.Forms.ComboBox();
-			this.label4 = new System.Windows.Forms.Label();
-			this.label5 = new System.Windows.Forms.Label();
-			this.textPort = new System.Windows.Forms.TextBox();
-			this.useCompression = new System.Windows.Forms.CheckBox();
-			this.SuspendLayout();
-			// 
-			// buttonOK
-			// 
-			this.buttonOK.Location = new System.Drawing.Point(67, 200);
-			this.buttonOK.Name = "buttonOK";
-			this.buttonOK.TabIndex = 0;
-			this.buttonOK.Text = "&OK";
-			this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
-			// 
-			// buttonCancel
-			// 
-			this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
-			this.buttonCancel.Location = new System.Drawing.Point(187, 200);
-			this.buttonCancel.Name = "buttonCancel";
-			this.buttonCancel.TabIndex = 0;
-			this.buttonCancel.Text = "&Cancel";
-			// 
-			// label1
-			// 
-			this.label1.Location = new System.Drawing.Point(12, 24);
-			this.label1.Name = "label1";
-			this.label1.Size = new System.Drawing.Size(104, 16);
-			this.label1.TabIndex = 1;
-			this.label1.Text = "Mysql server name:";
-			this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
-			// 
-			// textServer
-			// 
-			this.textServer.Location = new System.Drawing.Point(112, 20);
-			this.textServer.Name = "textServer";
-			this.textServer.Size = new System.Drawing.Size(168, 20);
-			this.textServer.TabIndex = 2;
-			this.textServer.Text = "";
-			// 
-			// textUser
-			// 
-			this.textUser.Location = new System.Drawing.Point(112, 76);
-			this.textUser.Name = "textUser";
-			this.textUser.Size = new System.Drawing.Size(168, 20);
-			this.textUser.TabIndex = 2;
-			this.textUser.Text = "";
-			// 
-			// label2
-			// 
-			this.label2.Location = new System.Drawing.Point(68, 76);
-			this.label2.Name = "label2";
-			this.label2.Size = new System.Drawing.Size(40, 16);
-			this.label2.TabIndex = 1;
-			this.label2.Text = "User:";
-			this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
-			// 
-			// textPassword
-			// 
-			this.textPassword.Location = new System.Drawing.Point(112, 108);
-			this.textPassword.Name = "textPassword";
-			this.textPassword.PasswordChar = '*';
-			this.textPassword.Size = new System.Drawing.Size(168, 20);
-			this.textPassword.TabIndex = 2;
-			this.textPassword.Text = "";
-			// 
-			// label3
-			// 
-			this.label3.Location = new System.Drawing.Point(44, 108);
-			this.label3.Name = "label3";
-			this.label3.Size = new System.Drawing.Size(64, 16);
-			this.label3.TabIndex = 1;
-			this.label3.Text = "Password:";
-			this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
-			// 
-			// comboDatabase
-			// 
-			this.comboDatabase.Location = new System.Drawing.Point(112, 160);
-			this.comboDatabase.Name = "comboDatabase";
-			this.comboDatabase.Size = new System.Drawing.Size(168, 21);
-			this.comboDatabase.TabIndex = 3;
-			this.comboDatabase.DropDown += new System.EventHandler(this.comboDatabase_DropDown);
-			// 
-			// label4
-			// 
-			this.label4.Location = new System.Drawing.Point(4, 164);
-			this.label4.Name = "label4";
-			this.label4.Size = new System.Drawing.Size(104, 16);
-			this.label4.TabIndex = 1;
-			this.label4.Text = "Select a database:";
-			this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
-			// 
-			// label5
-			// 
-			this.label5.Location = new System.Drawing.Point(72, 52);
-			this.label5.Name = "label5";
-			this.label5.Size = new System.Drawing.Size(36, 16);
-			this.label5.TabIndex = 1;
-			this.label5.Text = "Port:";
-			this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
-			// 
-			// textPort
-			// 
-			this.textPort.Location = new System.Drawing.Point(112, 48);
-			this.textPort.Name = "textPort";
-			this.textPort.Size = new System.Drawing.Size(168, 20);
-			this.textPort.TabIndex = 2;
-			this.textPort.Text = "";
-			// 
-			// useCompression
-			// 
-			this.useCompression.Location = new System.Drawing.Point(10, 132);
-			this.useCompression.Name = "useCompression";
-			this.useCompression.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
-			this.useCompression.Size = new System.Drawing.Size(116, 24);
-			this.useCompression.TabIndex = 4;
-			this.useCompression.Text = "Use compression";
-			this.useCompression.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
-			// 
-			// EditConnectionString
-			// 
-			this.AcceptButton = this.buttonOK;
-			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-			this.CancelButton = this.buttonCancel;
-			this.ClientSize = new System.Drawing.Size(298, 239);
-			this.Controls.AddRange(new System.Windows.Forms.Control[] {
-																		  this.useCompression,
-																		  this.comboDatabase,
-																		  this.textServer,
-																		  this.label1,
-																		  this.buttonOK,
-																		  this.buttonCancel,
-																		  this.textUser,
-																		  this.label2,
-																		  this.textPassword,
-																		  this.label3,
-																		  this.label4,
-																		  this.label5,
-																		  this.textPort});
-			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
-			this.MaximizeBox = false;
-			this.MinimizeBox = false;
-			this.Name = "EditConnectionString";
-			this.ShowInTaskbar = false;
-			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
-			this.Text = "Edit Connection String";
-			this.Load += new System.EventHandler(this.EditConnectionString_Load);
-			this.ResumeLayout(false);
-
-		}
-		#endregion
-
-		MySqlConnection conn;
-
-		private void EditConnectionString_Load(object sender, System.EventArgs e)
-		{
-			conn = new MySqlConnection(ConnectionString);
-			textServer.Text = conn.DataSource;
-			textUser.Text = conn.User;
-			textPassword.Text = conn.Password;
-			textPort.Text = conn.Port.ToString();
-			conn = null;
-		}
-
-		string GetString()
-		{
-			System.Text.StringBuilder s;
-			s = new System.Text.StringBuilder();
-			s.Append("server=" + textServer.Text);
-			s.Append(";port=" + textPort.Text);
-			s.Append(";uid=" + textUser.Text);
-			s.Append(";pwd=" + textPassword.Text);
-			if (useCompression.Checked) 
-			{
-				s.Append(";Use compression=true");
-			}
-			if (comboDatabase.SelectedIndex != -1)
-				s.Append(";Initial Catalog=" + comboDatabase.SelectedItem.ToString());
-			else
-				s.Append(";Initial Catalog=" + comboDatabase.Text);
-			return s.ToString();
-		}
-
-		private void comboDatabase_DropDown(object sender, System.EventArgs e)
-		{
-			comboDatabase.Items.Clear();
-			comboDatabase.SelectedIndex = -1;
-		
-			try
-			{
-				conn = new MySqlConnection(GetString());
-				conn.Open();
-				MySqlCommand comm = new MySqlCommand("show databases",conn);
-				MySqlDataReader r = (MySqlDataReader)comm.ExecuteReader();
-				while(r.Read())
-				{
-					comboDatabase.Items.Add(r[0]);
-				}
-				r.Close();
-				conn.Close();
-			}
-			catch(MySqlException)
-			{
-			}
-		}
-
-		private void buttonOK_Click(object sender, System.EventArgs e)
-		{
-			ConnectionString = GetString();
-			DialogResult = DialogResult.OK;
-			Close();
-		}
-	}
-#endif
-}
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/EditConnectionString.resx ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/EditConnectionString.resx
--- ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/EditConnectionString.resx	2003-10-05 17:18:15.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/EditConnectionString.resx	1969-12-31 19:00:00.000000000 -0500
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-            Microsoft ResX Schema 
-        
-            Version 1.3
-                
-            The primary goals of this format is to allow a simple XML format 
-            that is mostly human readable. The generation and parsing of the 
-            various data types are done through the TypeConverter classes 
-            associated with the data types.
-        
-            Example:
-        
-                ... ado.net/XML headers & schema ...
-                <resheader name="resmimetype">text/microsoft-resx</resheader>
-                <resheader name="version">1.3</resheader>
-                <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-                <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-                <data name="Name1">this is my long string</data>
-                <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-                <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-                    [base64 mime encoded serialized .NET Framework object]
-                </data>
-                <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-                    [base64 mime encoded string representing a byte array form of the .NET Framework object]
-                </data>
-        
-            There are any number of "resheader" rows that contain simple 
-            name/value pairs.
-            
-            Each data row contains a name, and value. The row also contains a 
-            type or mimetype. Type corresponds to a .NET class that support 
-            text/value conversion through the TypeConverter architecture. 
-            Classes that don't support this are serialized and stored with the 
-            mimetype set.
-                     
-            The mimetype is used for serialized objects, and tells the 
-            ResXResourceReader how to depersist the object. This is currently not 
-            extensible. For a given mimetype the value must be set accordingly:
-        
-            Note - application/x-microsoft.net.object.binary.base64 is the format 
-                   that the ResXResourceWriter will generate, however the reader can 
-                   read any of the formats listed below.
-        
-            mimetype: application/x-microsoft.net.object.binary.base64
-            value   : The object must be serialized with 
-                    : System.Serialization.Formatters.Binary.BinaryFormatter
-                    : and then encoded with base64 encoding.
-        
-            mimetype: application/x-microsoft.net.object.soap.base64
-            value   : The object must be serialized with 
-                    : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-                    : and then encoded with base64 encoding.
-            mimetype: application/x-microsoft.net.object.bytearray.base64
-            value   : The object must be serialized into a byte array 
-                    : using a System.ComponentModel.TypeConverter
-                    : and then encoded with base64 encoding.
-        -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="$this.Name">
-    <value>EditConnectionString</value>
-  </data>
-</root>
\ No newline at end of file
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/MySqlConnectionDesign.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/MySqlConnectionDesign.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/MySqlConnectionDesign.cs	2003-10-05 17:18:15.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/MySqlConnectionDesign.cs	1969-12-31 19:00:00.000000000 -0500
@@ -1,55 +0,0 @@
-// ByteFX.Data data access components for .Net
-// Copyright (C) 2002-2003  ByteFX, Inc.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// 
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-// 
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-using System;
-#if WINDOWS
-using System.Windows.Forms;
-using System.Drawing.Design;
-#endif
-
-namespace ByteFX.Data.MySqlClient.Designers
-{
-#if WINDOWS
-	/// <summary>
-	/// Summary description for MySqlConnectionDesign.
-	/// </summary>
-	public class ConnectionStringEditor : UITypeEditor
-	{
-		public override System.Drawing.Design.UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context)
-		{
-			return System.Drawing.Design.UITypeEditorEditStyle.Modal;
-		}
-
-		public override bool GetPaintValueSupported(System.ComponentModel.ITypeDescriptorContext context)
-		{
-			return false;
-		}
-
-		public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value)
-		{
-			EditConnectionString dlg = new EditConnectionString();
-			dlg.ConnectionString = (string)value;
-			if(dlg.ShowDialog() == DialogResult.OK)
-			{
-				return dlg.ConnectionString;
-			}
-			else
-				return value;
-		}
-	}
-#endif
-}
Binary files ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/command.bmp and ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/command.bmp differ
Binary files ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/connection.bmp and ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/connection.bmp differ
Binary files ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/dataadapter.bmp and ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/Designers/dataadapter.bmp differ
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/dataadapter.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/dataadapter.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/dataadapter.cs	2004-05-17 23:16:42.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/dataadapter.cs	2004-08-08 14:30:28.000000000 -0400
@@ -25,9 +25,6 @@
 	/// Represents a set of data commands and a database connection that are used to fill a dataset and update a MySQL database. This class cannot be inherited.
 	/// </summary>
 	/// <include file='docs/MySqlDataAdapter.xml' path='MyDocs/MyMembers[@name="Class"]/*'/>
-	[System.Drawing.ToolboxBitmap( typeof(MySqlDataAdapter), "MySqlClient.resources.dataadapter.bmp")]
-	[System.ComponentModel.DesignerCategory("Code")]
-	[Designer("ByteFX.Data.MySqlClient.Design.MySqlDataAdapterDesigner,MySqlClient.Design")]
 	public sealed class MySqlDataAdapter : DbDataAdapter, IDbDataAdapter
 	{
 		private MySqlCommand m_selectCommand;
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/parameter.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/parameter.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/parameter.cs	2004-05-17 23:16:42.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/parameter.cs	2004-08-08 14:24:25.000000000 -0400
@@ -351,14 +351,14 @@
 			for (int x=0; x < theSize; x++)
 			{
 				byte b = bytes[x];
-				if (b == '\0') 
+				if (b == '\0') 
 				{
 					newbytes[newx++] = (byte)'\\';
 					newbytes[newx++] = (byte)'0';
 				}
 				else 
 				{
-					if (b == '\\' || b == '\'' || b == '"' || b == '`' || b == '´')
+					if (b == '\\' || b == '\'' || b == '"' || b == '`' || b == ' ')
 						newbytes[newx++] = (byte)'\\';
 					newbytes[newx++] = b;
 				}
diff -Nru ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/parameter_collection.cs ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/parameter_collection.cs
--- ml-o2/mcs-sources/class/ByteFX.Data/mysqlclient/parameter_collection.cs	2004-05-17 23:16:42.000000000 -0400
+++ ml-pnet-0.6.8/mcs-sources/class/ByteFX.Data/mysqlclient/parameter_collection.cs	2004-08-08 14:35:44.000000000 -0400
@@ -26,8 +26,6 @@
 	/// Represents a collection of parameters relevant to a <see cref="MySqlCommand"/> as well as their respective mappings to columns in a <see cref="DataSet"/>. This class cannot be inherited.
 	/// </summary>
 	/// <include file='docs/MySqlParameterCollection.xml' path='MyDocs/MyMembers[@name="Class"]/*'/>
-	[Editor(typeof(ByteFX.Data.Common.DBParametersEditor), typeof(System.Drawing.Design.UITypeEditor))]
-	[ListBindable(true)]
 	public sealed class MySqlParameterCollection : MarshalByRefObject, IDataParameterCollection, 
 		IList, ICollection, IEnumerable
 	{
