提示:建议将所有关于处理数据库数据的方法都封装在一个类里面,之后要相应的操作直接调用就可以了
文章目录
前言
提示:
前提:在网络上有很多的针对与C#对数据库数据操作的教学,在这里小编对广大码友有一个温馨的小提示:因为我们在做一个项目的时候会经常和数据库操作息息相关,所以建议和小编一样,将关于数据库的增删改查等操作都封装在一个类里面(小编这里创建的是 yyl_mysql),这样以后无论更换数据库之后或者在不同的环境下运行项目,只需要在类里面改一下数据库密码或者其他信息,不至于牵扯到任何工程。比方说如果在不同的组件绑定数据源,那么在换环境运行时就要更改多处甚至很多的地方,这样会很麻烦。
提示:以下是本篇文章正文内容,下面案例可供参考
继上一篇内容继续扩展,小编的上一篇是关于C#连接MyQSL数据库的,而这一节我们来学习C#项目对数据库数据进行增删改查操作
一、创建yyl_mysql类(自定义类名)
添加数据代码如下(其中所有的代码我已经写完):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Data;
using System.Windows.Forms;
namespace Dome
{
public class yyl_mysql
{
string str = "server=localhost;User Id=root;password=数据库密码;Database=数据库名字;CharSet=utf8";
//查看
public DataTable readuser()
{
DataTable dt = new DataTable();
MySqlConnection con = new MySqlConnection(str);
MySqlCommand cmd = new MySqlCommand();
try
{
con.Open();
cmd.Connection = con;
cmd.CommandText = "select * from tb_dome";
MySqlDataReader reader = cmd.ExecuteReader();
dt.Load(reader);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
return dt;
}
//修改
public bool Updata(string name, string tel)
{
bool k = false;
MySqlConnection con = new MySqlConnection(str);
MySqlCommand cmd = new MySqlCommand();
try
{
con.Open();
cmd.Connection = con;
cmd.CommandText = "UPDATE tb_dome SET name = @name WHERE tel = @tel";
cmd.Parameters.Add("name", name);
cmd.Parameters.Add("tel", tel);
int i = cmd.ExecuteNonQuery();
if (i > 0) k = true;
else k = false;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
k = false;
}
finally
{
con.Close();
}
return k;
}
//添加
public bool Insert(string name, string tel, string sex)
{
bool result = false;
MySqlConnection con = new MySqlConnection(str);
MySqlCommand cmd = new MySqlCommand();
try
{
con.Open();
cmd.Connection = con;
//@之后变量可以自定义
cmd.CommandText = "insert into tb_dome values(@name, @sex, @tel)";
cmd.Parameters.Add("name", name);
cmd.Parameters.Add("sex", sex);
cmd.Parameters.Add("tel", tel);
int i = cmd.ExecuteNonQuery();
if (i > 0) result = true;
else result = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
result = false;
}
finally
{
con.Close();
}
return result;
}
//删除
public bool Delete(string tel)
{
bool result = false;
MySqlConnection con = new MySqlConnection(str);
MySqlCommand cmd = new MySqlCommand();
try
{
con.Open();
cmd.Connection = con;
//@之后变量可以自定义
cmd.CommandText = "DELETE FROM tb_dome WHERE tel = @tel";
cmd.Parameters.Add("tel", tel);
int i = cmd.ExecuteNonQuery();
if (i > 0) result = true;
else result = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
result = false;
}
finally
{
con.Close();
}
return result;
}
}
}
二、主窗体样式
对于主窗体的四个按钮的事件,添加、修改、删除均是窗体之间的跳转,而查询会在下方讲述。
三、增
示例:以下是数据库的添加数据的SQL语句,对应在C#中的对应语句。
注意:SQL语句我们是不用的,用的是C#SQL语句,这里是给你们对比一下两者运用的变化
//方法一:直接跟数据。注意:插入信息跟准数据库字段
INSERT INTO tb_user(表名) values ("张三","男","中国"); //SQL语句
INSERT INTO tb_user(表名)values (@name,@sex,@address); //C#sql语句
//方法二:
INSERT INTO tb_user(表名) (name, sex, address) values ("张三","男","中国"); //sql语句
INSERT INTO tb_user(表名)(name,sex,address) values (@name,@sex,@address); //C#sql语句
提示:C#语句中的@name,@sex,@address,是可以自定义的变量名,目的就是为了接受到数据库的对应的字段信息,其他操作的方式一样
1.添加窗体
2. 添加按钮绑定事件
yyl_mysql sql = new yyl_mysql(); //这一句应该放在全局,这里只为显示需求,下同
string name = textBox1.Text;
string sex = textBox3.Text;
string tel = textBox2.Text;
if(sql.Insert(name, tel, sex))
{
MessageBox.Show("添加成功!");
}
else
{
MessageBox.Show("添加失败!");
}
3. 运行效果
四、删
示例:以下是数据库的添加数据的SQL语句,对应在C#中的对应语句。
注意:SQL语句我们是不用的,用的是C#SQL语句,这里是给你们对比一下两者运用的变化
//直接跟数据。注意:插入信息更准数据库字段
DELETE FROM tb_dome WHERE tel = 555 //SQL语句
DELETE FROM tb_dome WHERE tel = @tel //C#sql语句
1.删除窗体
因为删除只需要知道数据库的主键即可
2. 删除按钮绑定事件
string tel = textBox2.Text;
if (sql.Delete(tel))
{
MessageBox.Show("删除成功!");
}
else
{
MessageBox.Show("删除失败!");
}
3. 运行效果
点击查询按钮,有数据更新。
五、改
示例:以下是数据库的添加数据的SQL语句,对应在C#中的对应语句。
注意:SQL语句我们是不用的,用的是C#SQL语句,这里是给你们对比一下两者运用的变化
//这里我只修改name
UPDATE tb_dome SET name = @name WHERE tel = 444 //SQL语句
UPDATE tb_dome SET name = @name WHERE tel = @tel //C#sql语句
1.修改窗体
2. 修改按钮绑定事件
string name = textBox1.Text;
string tel = textBox2.Text;
if(sql.Updata(name, tel))
{
MessageBox.Show("修改成功!");
}
else
{
MessageBox.Show("修改失败!");
}
3. 运行效果
点击查询按钮,有数据更新。
六、查
示例:以下是数据库的添加数据的SQL语句,对应在C#中的对应语句。
注意:SQL语句我们是不用的,用的是C#SQL语句,这里是给你们对比一下两者运用的变化
//无条件查询
cmd.CommandText = "select * from tb_dome"; //SQL语句
cmd.CommandText = "select * from tb_dome"; //C#sql语句
//有条件查询
cmd.CommandText = "select * from tb_dome where tel = 111"; //SQL语句
cmd.CommandText = "select * from tb_dome where = tel = @tel"; //C#sql语句
1.查看窗体
提示:查看窗体就只要一个DataGridView的组件,放在主界面即可
2. 查看按钮绑定事件
dataGridView1.DataSource = sql.readuser(); //绑定数据源方法即可
3. 运行效果
总结
其实之前就有很多关于查看的操作,至于为什么放在最后来说,是因为关于查看的方式还有很多,上面演示的只不过是返回DataTable类型的表,也就是整张表,而我们在开发的过程中会有很多的查看方式,比如说以条件来查询表中的内容,那么下一期小编就整理几个常用的查询方式,也希望码友们多多点赞支持一下小编。