mysql.data.dll是C#操作MYSQL的驅動檔案,是c#連接配接mysql必要插件,使c#語言更簡潔的操作mysql資料庫。當你的電腦彈出提示“丢失mysql.data.dll”或“無法找到mysql.data.dll”等錯誤問題,請下載下傳本站為你提供的dll檔案,使用它可以幫助使用者解決上述問題。
dll檔案修複方法:
1、解壓下載下傳的檔案。
2、複制檔案“mysql.data.dll”到系統目錄下。
3、系統目錄一般為:C:\WINNT\System32 64位系統為C:\Windows\SysWOW64
4、最後點選開始菜單-->運作-->輸入regsvr32 mysql.data.dll 後,回車即可解決錯誤提示!
第三方元件:Mysql.Data.dll
說明:下載下傳Mysql.Data.dll,然後在項目中添加該元件的引用,在代碼頁裡輸入using Mysql.Data.MysqlClient,我們就可以順利的使用該類庫的函數建立連接配接了。
以下是幾個常用函數:
#region 建立MySql資料庫連接配接
///
/// 建立資料庫連接配接.
///
/// 傳回MySqlConnection對象
public MySqlConnection getmysqlcon()
{
//http://sosoft.cnblogs.com/
string M_str_sqlcon = "server=localhost;user id=root;password=root;database=abc"; //根據自己的設定
MySqlConnection myCon = new MySqlConnection(M_str_sqlcon);
return myCon;
}
#endregion
#region 執行MySqlCommand指令
///
/// 執行MySqlCommand
///
/// SQL語句
public void getmysqlcom(string M_str_sqlstr)
{
MySqlConnection mysqlcon = this.getmysqlcon();
mysqlcon.Open();
MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon);
mysqlcom.ExecuteNonQuery();
mysqlcom.Dispose();
mysqlcon.Close();
mysqlcon.Dispose();
}
#endregion
#region 建立MySqlDataReader對象
///
/// 建立一個MySqlDataReader對象
///
/// SQL語句
/// 傳回MySqlDataReader對象
public MySqlDataReader getmysqlread(string M_str_sqlstr)
{
MySqlConnection mysqlcon = this.getmysqlcon();
MySqlCommand mysqlcom = new MySqlCommand(M_str_sqlstr, mysqlcon);
mysqlcon.Open();
MySqlDataReader mysqlread = mysqlcom.ExecuteReader(CommandBehavior.CloseConnection);
return mysqlread;
}
#endregion
using System.Data;
using MySql.Data.MySqlClient;
private MySqlConnection conn;
private DataTable data;
private MySqlDataAdapter da;
private MySqlCommandBuilder cb;
private DataGrid dataGrid;
private void connectBtn_Click(object sender, System.EventArgs e)
{
if (conn != null)
conn.Close();
string connStr = String.Format("server={0};user id={1}; password={2}; port={3}; database=mysql; pooling=false; charset=utf8",
server.Text, userid.Text, password.Text, 3306);
try
{
conn = new MySqlConnection( connStr );
conn.Open();
GetDatabases();
MessageBox.Show("連接配接資料庫成功!");
}
catch (MySqlException ex)
{
MessageBox.Show( "Error connecting to the server: " + ex.Message );
}
}
private void GetDatabases()
{
MySqlDataReader reader = null;
MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", conn);
try
{
reader = cmd.ExecuteReader();
databaseList.Items.Clear();
while (reader.Read())
{
databaseList.Items.Add( reader.GetString(0) );
}
}
catch (MySqlException ex)
{
MessageBox.Show("Failed to populate database list: " + ex.Message );
}
finally
{
if (reader != null) reader.Close();
}
}
private void databaseList_SelectedIndexChanged(object sender, System.EventArgs e)
{
MySqlDataReader reader = null;
conn.ChangeDatabase(databaseList.SelectedItem.ToString());
//http://sosoft.cnblogs.com/
MySqlCommand cmd = new MySqlCommand("SHOW TABLES", conn);
try
{
reader = cmd.ExecuteReader();
tables.Items.Clear();
while (reader.Read())
{
tables.Items.Add( reader.GetString(0) );
}
}
catch (MySqlException ex)
{
MessageBox.Show("Failed to populate table list: " + ex.Message );
}
finally
{
if (reader != null) reader.Close();
}
}
private void tables_SelectedIndexChanged(object sender, System.EventArgs e)
{
data = new DataTable();
da = new MySqlDataAdapter("SELECT * FROM " + tables.SelectedItem.ToString(), conn );
cb = new MySqlCommandBuilder( da ); // 此處必須有,否則無法更新
da.Fill( data );
dataGrid.DataSource = data;
}
private void updateBtn_Click(object sender, System.EventArgs e)
{
DataTable changes = data.GetChanges();
da.Update( changes );
data.AcceptChanges();
}