不負責任的說MariaDb和MySQL很多都是通用的,因為來自同一個爹。。。
和MySQL連接方式差不多
首先配置好你的MariaDb,創建test數據庫,在test里創建MyTable表,腳本如下(通過HeidiSQL導出的腳本):
-- -------------------------------------------------------- -- 主機: 172.16.40.153 -- 服務器版本: 5.5.5-10.0.4-MariaDB-1~wheezy-log - mariadb.org binary distribution -- 服務器操作系統: debian-linux-gnu -- HeidiSQL 版本: 8.1.0.4545 -- -------------------------------------------------------- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET NAMES utf8 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -- 導出 test 的數據庫結構 DROP DATABASE IF EXISTS `test`; CREATE DATABASE IF NOT EXISTS `test` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `test`; -- 導出 表 test.MyTable 結構 DROP TABLE IF EXISTS `MyTable`; CREATE TABLE IF NOT EXISTS `MyTable` ( `id` int(11) NOT NULL, `username` varchar(32) DEFAULT NULL, `password` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- 正在導出表 test.MyTable 的數據:~0 rows (大約) DELETE FROM `MyTable`; /*!40000 ALTER TABLE `MyTable` DISABLE KEYS */; INSERT INTO `MyTable` (`id`, `username`, `password`) VALUES (1, '2013/10/13', '1f11082e-7c23-4ffd-bfd2-67b0a58d'), (25, '2013/10/13', 'fc52bd01-474b-4fa4-86f1-18d3a3c7'), (32, '2013/10/13', '1078f559-3e39-4b7d-bcab-0286c7f4'), (58, '2013/10/13', '95ee6ce5-fcef-4785-bd0d-3482e6de'); /*!40000 ALTER TABLE `MyTable` ENABLE KEYS */; /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
C#代碼如下:包含了簡單的新增刪除查詢,工具是vs2012版本,一定要下載mysql-connector-net,我選擇的是最新的版本
別忘了添加引用
using MySql.Data.MySqlClient;
MySqlConnection connection_;
private void buttonOpenConnect_Click(object sender, EventArgs e)
{
//string connectionStr = "server=127.0.0.1;user id=root;password=;database=test";
string connectionStr = "server=172.16.40.153;user id=root;password=123456;database=test";
connection_ = new MySqlConnection(connectionStr);
connection_.Open();
MessageBox.Show("Connect OK!");
}
private void buttonSelect_Click(object sender, EventArgs e)
{
if (connection_ == null)
{
MessageBox.Show("Please open connect!");
return;
}
string sql = "SELECT * FROM MyTable";
MySqlDataAdapter adapter = new MySqlDataAdapter(sql, connection_);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
dataGridViewMariaDB.DataSource = dataTable;
}
private void buttonCloseConnect_Click(object sender, EventArgs e)
{
if (connection_ != null)
{
connection_.Close();
MessageBox.Show("Connect Close!");
}
}
private void buttonInsert_Click(object sender, EventArgs e)
{
if (connection_ == null)
{
MessageBox.Show("Please open connect!");
return;
}
int id = DateTime.Now.Second;
string username = DateTime.Now.ToShortDateString();
string password = Guid.NewGuid().ToString();
string sql = string.Format("INSERT INTO MyTable (`id`,`username`,`password`) VALUES({0},'{1}','{2}');", id, username, password);
MySqlCommand command = new MySqlCommand(sql, connection_);
int affectLines = command.ExecuteNonQuery();
MessageBox.Show("Affect " + affectLines.ToString() + " line");
}
private void buttonDelete_Click(object sender, EventArgs e)
{
if (connection_ == null)
{
MessageBox.Show("Please open connect!");
return;
}
int no = Convert.ToInt32(textBoxNO.Text);
string sql = string.Format("DELETE FROM MyTable WHERE id={0}", no);
MySqlCommand command = new MySqlCommand(sql, connection_);
int affectLines = command.ExecuteNonQuery();
MessageBox.Show("Affect " + affectLines.ToString() + " line");
}
