目标2:C#操作MySQL数据库,包括基本步骤和具体的编码实现(90分)。
C#操作MySQL数据库。
(1)连接作业1中建立的数据库中的相关的表(table),显示在DataGridView控件中。
using System;
using System.Collections.Generic;using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySQLDriverCS;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using System.Data.Odbc;
namespace DataBaseConnection
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
string constr = "DRIVER={MySQL ODBC 5.2 ANSI Driver};" +
"SERVER=localhost;" +
"DATABASE=student;" +
"UID=root;" +
"PASSWORD=root;" +
"OPTION=3";
OdbcConnection conn = new OdbcConnection(constr);
conn.Open();
if (conn.State == ConnectionState.Open)
{
label1.Text = "数据库已打开!";
}
//读取sut_info
MySqlDataAdapter sda = new MySqlDataAdapter();//适配器
sda = new MySqlDataAdapter("select *from stu_info","SERVER=localhost;UID=root;PASSWORD=root;DATABASE=student;");
DataSet ds = new DataSet();//数据集
sda.Fill(ds, "stu_info");//填充到表格
dataGridView1.DataSource = ds.Tables["stu_info"];//设置DGV数据源
}
//捕获错误
catch (MySqlException ex)
{
switch (ex.Number)
{
case 0:
MessageBox.Show("不能连接服务器;"); break;
case 1045:
MessageBox.Show("无效用户名、密码!"); break;
case 1049:
MessageBox.Show("数据库不存在!"); break;
default:
MessageBox.Show(ex.Message); break;
}
}
}
}
}
MYSQL数据库表格:
运行结果:
心得:一开始是使用SQL SERVER数据库,后来因为SQL SERVER版本过期后重新使用MYSQL ,通过查阅资料成功连接到数据库,再将数据库的表读取到DATAGRIDVIW中。不足的地方是出现乱码,我在尝试能不能在C#里面实现不乱码,而不是在,MYSQL建表的时候实现。