asp.net mysql 增删该查_C# SQL数据库的基础增删改查和事务 -.net

本文介绍了如何使用C#进行SQL数据库的基础操作,包括连接MySQL数据库、增删改查以及事务处理。首先,展示了如何定义连接字符串,并提供了一个用于执行SQL查询的通用方法。接着,详细讲解了添加、删除、更新记录的实现,以及如何通过事务确保数据库操作的原子性。文章以实例代码的形式,帮助初学者理解C#操作数据库的基本流程。
摘要由CSDN通过智能技术生成

编辑推荐:

本文来自于csdn,本文简单的介绍了SQL数据库的基础,增删改查等等,希望对您的学习有帮助。

刚学了C#中写SQL数据库的增删改查,只是最基础SQL语句使用,深入地等待学习中。

在操作数据库之前,要先下载SQL Server与C#连接使用,数据库的表都是放在SQL Server当中的,C#只是链接SQL

Server从而操作里面的数据库表。

现在开始C#代码编写:

一、定义连接字符串,用来链接SQL Server

string str_con = "server=.(服务器名称一般为 . );database=WordBook(数据库名称);uid=sa(服务器登录名);pwd=123(服务器密码)";

二、有了链接字符串之后,开始数据库操作

1、数据库查询

定义了一个查询方法,用来调用:

public

DataSet queryDatabase(string sql) //sql是查询语句

{

//储存数据的工具初始化

DataSet ds = new DataSet();

//相当于链接数据库的一个工具类(连接字符串)

using (SqlConnection con = new SqlConnection(str_con))

{

con.Open(); //打开

//用SqlConnection工具链接数据库,在通过sql查询语句查询结果现存入sql适配器

SqlDataAdapter sda = new SqlDataAdapter(sql,con);

//(查询语句和连接工具)

sda.Fill(ds); //将适配器数据存入DataSet工具中

con.Close(); //用完关闭SqlConnection工具

return ds;

}

}

在需要查询数据库的地方调用此方法:

private

void query() {

//查询WordBook表中,book_key字段数值为7的那一行数据

//string sql = "select * from Word_Book

where book_key='7'";

string sql = "select * from Word_Book

"; //查询全表

DataSet ds = help.queryDatabase(sql); //查询到数据

DataTable dt = ds.Tables[0]; //把查到的数据存入数据表中

sqlDataResult.DataSource = dt; //把数据赋值给gridView展示(全表)

// string str=dt.Rows[0][1].ToString();//查找表中某一个内容

// MessageBox.Show(str);

}

2、数据库添加、删除、修改

C#中数据库的添加、删除、修改用的是同断代码,所以定义了一个方法,用来调用:

public

int changeSqlData(String sql)

{

using(SqlConnection con=new SqlConnection(str_con))

{

con.Open();

//操作数据库的工具SqlCommand

SqlCommand cmd = new SqlCommand(sql, con);//(操作语句和链接工具)

int i=cmd.ExecuteNonQuery();//执行操作返回影响行数()

con.Close();

return i;

}

}

在需要操作数据库的地方调用此方法:

①数据库添加:

private void btn_add_Click(object sender,

EventArgs e)

{

//sql添加数据 insert into 表名(字段,字段...)

values(‘内容’,‘内容’...)

string sql = "insert into Word_Book(book_word_CN,book_word_JP,book_

word_Roma,book_nominal,"

+

"book_gloze) values('" + book_word_CN.Text.

Trim()+"','"+

book_word_JP .Text.Trim() + "','"

+ book_word_Roma .Text.Trim() + "','"+

book_nominal.Text.Trim()

+ "','" +

book_gloze.Text.Trim()

+ "')";

int i=help.changeSqlData(sql);

if (i == 0) MessageBox.Show("添加失败",

"提示:");

else MessageBox.Show("添加成功", "提示:");

}

②数据库删除:

private void btn_delete_Click(object sender,

EventArgs e)

{

//根据同个字段中不同内容删除多行

//delete from Word_Book where book_key in (1,2,3)

//sql删除数据delete 表名 where 字段='内容'单个条件用or链接,多个条件用and链接

string sql = "delete from Word_Book where

book_key='"+book_key.Text.Trim()+"'";

int i=help.changeSqlData(sql);

if (i == 0) MessageBox.Show("删除失败",

"提示:");

else MessageBox.Show("删除成功", "提示:");

}

②数据库更新:

private void btn_update_Click(object sender,

EventArgs e)

{

//根据条件修改多个字段内容

//update 表名 set 字段='内容', 字段='内容' where 条件字段='内容'

string sql = "update Word_Book set book_word_CN='"+book_word_CN.Text.Trim()+

"', book_word_JP='"+book_word_JP.Text.Trim()+"'where

book_key='" + book_key.Text.Trim()+"'";

int i = help.changeSqlData(sql);

if (i == 0) MessageBox.Show("修改失败",

"提示:");

else MessageBox.Show("修改成功", "提示:");

}

3、数据库事务操作数据库

用数据库事务相当于把数据库操作捆绑执行,只要其中一条sql语句失败,直接返回,不进行数据库操作,只有全部执行正确,才会更新数据库。

定义了一个查询方法,用来调用:

public

bool openTrans(List lst)

{

using (SqlConnection con=new SqlConnection(str_con))

{

con.Open();

//开启事务

SqlTransaction trans = con.BeginTransaction();

SqlCommand cmd = new SqlCommand();

cmd.Connection = con;//添加链接工具

cmd.Transaction = trans;//添加事务

try

{

for (int i = 0; i < lst.Count; i++)

{

string sql=lst[i].ToString();//获取sql语句

cmd.CommandText = sql;//添加sql语句

cmd.ExecuteNonQuery();//执行

}

trans.Commit();//执行完成之后提交

return true;

}

catch(Exception e)

{

//执行sql语句失败,事务回滚

trans.Rollback();

return false;

}

finally

{

con.Close();

}

}

}

在需要操作数据库的地方调用此方法:

private

void transql_Click(object sender, EventArgs

e)

{

List lst = new List();

lst.Add("update Word_Book set book_word_CN='"

+ book_word_CN.Text.Trim() +

"', book_word_JP='" + book_word_JP.Text.Trim()

+ "'where book_key='" + book_key.Text.Trim()

+ "'");

lst.Add("update Word_Book set book_word_Roma='"

+ book_word_Roma.Text.Trim() +

"', book_nominal='" + book_nominal.Text.Trim()

+ "'where book_key='" + book_key.Text.Trim()

+ "'");

Boolean isOk= help.openTrans(lst);

if (!isOk) MessageBox.Show("修改失败",

"提示:");

else MessageBox.Show("修改成功", "提示:");

}

C#增删改查操作完成,想要方便可以自定义一个类,把所有的方法写在里面,当有用到的时候可以初始化该类的实例用来调用类里的方法,完工。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值