首先需要向所在项目导入MySql.Data.MySqlClient的netget包,通过该扩展中的操作类操作mysq
首先创建三个变量在之后需要使用
MySqlConnection conn; //连接数据库对象
MySqlDataAdapter adapter; //适配器变量
DataSet set; //临时数据集
在在一个按钮的功能中添加连接数据库的功能
//connStr连接数据库的登录信息
string connStr = "server = localhost; user = root; database = 教学; port = 3306; password = 123456";
//创建连接数据库的对象
conn = new MySqlConnection(connStr);
try
{
conn.Open();
MessageBox.Show("连接成功");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
sever是本地主机也可以使用127.0.0.0代替,user是mysql的用户名,database是已存在的数据库,port是端口号,一般都是3306
接下来再向控件中添加数据源,这里采用sql查询的方式
string sqlStr = "select * from student";
adapter = new MySqlDataAdapter(sqlStr, conn);
set = new DataSet();
adapter.Fill(set, "student");
//将取出的数据做为dataGridView1的数据源
dataGridView1.DataSource = set;
dataGridView1.DataMember = "student";
再是更行数据,需要判断是否连接了数据库否则发生错误
if (adapter == null || set == null) //先导入数据才能更新数据。
{
MessageBox.Show("请先导入数据");
return;
}
try
{
string msg = "确实要更新吗?";
if (1 == (int)MessageBox.Show(msg, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))
{
MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);
//适配器会自动更新用户在表上的操作到数据库中
adapter.Update(set, "student");
MessageBox.Show("更新成功", "提示");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "错误信息");
}
查询功能,需要textbox获取输入的sql语句,再使用如第一步的方式即可
需要注意,如果没有输入内容就需要保持数据窗口不变.
string sql = textBox1.Text;
if (textBox1.Text == "")
{
sql = "select* from student";
}
adapter = new MySqlDataAdapter(sql, conn);
//数据集、本地微型数据库可以存储多张表。
set = new DataSet();
adapter.Fill(set, "student");
//将取出的数据做为dataGridView1的数据源
dataGridView1.DataSource = set;
dataGridView1.DataMember = "student";
删除某一个元素,工具类即可
//获取单元格所选行索引
int i = dataGridView1.SelectedCells[0].RowIndex;
//删除该行
dataGridView1.Rows.RemoveAt(i);