UWP 连接mysql需要使用mysql提供的连接器,官网介绍是从6.7版本开始支持RT模式,但是下载最新版发现没有网上所说的 MySql.Data.RT.dll,所以只能下载旧一点的6.7版本,csdn下载地址,也可尝试从官网下:http://dev.mysql.com/downloads/connector/net/,下载好安装后,在工程里引用MySql.Data.RT.dll,默认安装目录为C:\Program Files (x86)\MySQL\MySQL Connector Net 6.7.8\Assemblies\RT。添加好引用就可以撸代码了
连接字符串:由于RT环境下mysql不支持ssl加密,就不能使用加密,为了能支持中文字符,最好默认统一用utf8编码,不然容易闹心。
1 2 |
string strcon = "server=192.168.1.106;database=test;Encrypt=false;uid=test;password=test;CharSet=utf8;"; Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//初始注册字符编码 |
首先创建个表
1 2 3 4 5 6 7 8 9 |
using (MySqlConnection connection = new MySqlConnection(strcon)) { connection.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = connection; //建表默认字符串也用utf8 cmd.CommandText = "create table IF NOT EXISTS table3 (`id` int(11) NOT NULL,`name` varchar(16) NOT NULL,`age` int(11) NOT NULL) ENGINE = InnoDB DEFAULT CHARSET = utf8 "; cmd.ExecuteNonQuery(); } |
插入数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Random ran = new Random(); private void button_insert(object sender, RoutedEventArgs e) { using (MySqlConnection connection = new MySqlConnection(strcon)) { connection.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = connection; DateTime t = DateTime.Now; string strcmd = string.Format("INSERT INTO table3 VALUES({0},'{1}',{2})", t.Second, "中文abc123", ran.Next(1, 99)); cmd.CommandText = strcmd; cmd.ExecuteNonQuery(); } } |
查询数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
private void btn_query_Click(object sender, RoutedEventArgs e) { using (MySqlConnection connection = new MySqlConnection(strcon)) { connection.Open(); string strcmd = "select * from table3 limit 10"; MySqlCommand cmd = new MySqlCommand(strcmd, connection); using (MySqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { int id = reader.GetInt32("id"); string name = reader.GetString("name"); int age = reader.GetInt32("age"); System.Diagnostics.Debug.WriteLine("id:"+id.ToString()+" name:"+name+" age:"+age.ToString()); } } } } |
转载请注明:UWPBOX » UWP 连接Mysql