C#和SQL数据库的基本增删改查和事务

一,定义连接字符串,用来连接SQLServer
string str_con=“server=.(服务器名称一般为.);database=WordBook(数据库名称);uid=sa(服务器登录名);pwd=123(服务器密码)”;
二,数据库操作
1.数据库查询(定义了一个查询方法)
public DataSet query Database(string sql){
//sql是查询语句
(储存数据的工具初始化)
DataSet ds=new DataSet();
//相当于连接数据库的一个工具类(连接字符串)
using(SqlCoonection con=new SqlConnection(str_con)){
con.Open();//打开
SqlDataAdapter sda=new SqlDataAdapter(sql,con);//查询语句和连接工具
sda.fill(ds);//将适配器数据存入DataSet工具中
con.Close();//用完关闭
SqlConnection工具
return ds;
}
}
rivate 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);//查询得到数t据
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)){
conn.Open();//操作数据库的工具
SqlCommand cmd=new SqlCommand(sql,con);//操作语句和链接工具
int i=cmd.ExecuteNonQuery();//执行操作返回影响行数
con.Close();
return i;}
}
1.数据库添加
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_glonze)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(i0){
MessageBox.Show(“添加失败”,“提示:”);
}esle 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_Cn.Text.Trim()+”,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(Listlst){
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){
Listlst=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()+"");
list.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)MeaasgeBox.Show(“修改失败”,提示:");
else MessageBox.Show(“修改成功”,“提示:”);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值