c#的数据库操作

       数据库作为编程中必不可少的一部分,有着很重要的使用价值和学习意义。前段时间去宁波一个事业单位笔试、面试,上机部分考的就是一个操作数据的题目,给出了一个字段,让在Access结合c#实现添加、删除的功能,很遗憾的是,我之前虽然做过相关方面的项目,但是没怎么去注重这些小的细节,对结果也不报很大的希望了...

  好,废话少说,回归正题——c#操作数据库(这里主要讲Access,Sql server)主要有两种方式:OleDb和SqlClient方式,两种方式对应的代表就是Access和SqlClient,之间的关系图如下所示:

  从类的命名和引用空间的命名来讲,二者的相似度还是很高的,主要差别在一些小细节上,如:连接字符串。

  其中SQL Server的连接数据库字符串为:“Server=(Local)\sqlexpress;Integrated Security=True;Database=northwind”;其中,Local代表主机名,northwind代表数据库名,这里没有要求安全设置,直接连就ok了。

  Access的数据库连接字符串为:“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=...”,其中,我使用的Access版本是2010的,2003版本的跟这个还是有差别的,具体大家可以到网上搜,这里也没有安全设置,直接连就ok了。

  由于我机子上没有安装SQL Server,所以我还是拿Access来做示例吧:

  首先,将Access所在路径作为参数传入类AccessOperate中:

1         public AccessOperate(string pathUrl)
2         {
3             dbCmd = new OleDbCommand();
4             //连接数据库
5             StringBuilder stringBuilder=new StringBuilder();
6             stringBuilder.Append(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=");
7             stringBuilder.Append(pathUrl + ";");                                          //+"Persist Security Info=False;"
8             dbConn = new OleDbConnection(stringBuilder.ToString());
9         }

  打开数据库:

  

1 public bool OpenDB()
2         {
3             dbConn.Open();
4             if (dbConn.State==ConnectionState.Open)
5             {
6                 return true;
7             }
8             return false;
9         }

  用来测试的数据库不大,把表中所有的数据都取出,存放于一个DataSet中:

  

 1 public DataSet get_allItems()
 2         {
 3             DataSet ds = new DataSet();
 4             dbCmd=dbConn.CreateCommand();
 5             dbCmd.CommandText = "select * from XS_Table";
 6             OleDbDataAdapter dataAdapter= new OleDbDataAdapter(dbCmd);
 7             dataAdapter.Fill(ds);
 8 
 9             dataAdapter.Dispose();
10             return ds;
11         }

  如需显示可借助于DataGridView进行,这里就不赘述了。

 

posted @ 2012-12-20 17:11  ll2008  阅读(763)  评论(0编辑  收藏  举报