C# SQL数据库的基础

2018-02-08 10:20:10来源:http://www.uml.org.cn/net/201802071.asp作者:火龙果软件工程人点击

分享


编辑推荐:

本文来自于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<String> 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<string> lst = new List<string>();


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


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台