C#操作Access数据库之SELECT操作浅析

开发 后端
C#操作Access数据库之SELECT操作是如何的呢?C#操作Access数据库之SELECT操作需要注意的是什么呢?本文向你介绍这方面的内容。

C#操作Access数据库之SELECT操作是如何的呢,让我们开始讲解:

下面是我的自己在写测试程序的时候用到了,先列出来看看OleDbDataReader和OleDbDataAdapter是如何操作从数据库中选择记录的:

  1. //通过ID得到当前留言详细内容.通过STRING类型参数  
  2.  
  3. public Notebook getNoteFromID(string noteid)  
  4. {   
  5. Notebook tempnote=new Notebook(); //定义返回值  
  6.  
  7. try //C#操作Access数据库之SELECT操作
  8. {  
  9. OleDbConnection conn = getConn();  
  10.  //getConn():得到连接对象  
  11. string strCom = "Select * from notes where id=" + noteid ;  
  12. OleDbCommand myCommand =new OleDbCommand(strCom,conn);  
  13. conn.Open();  
  14. OleDbDataReader reader;   
  15. reader =myCommand.ExecuteReader() ;   
  16. //执行command并得到相应的DataReader  
  17. //下面把得到的值赋给tempnote对象  
  18. if(reader.Read())  
  19. {  //C#操作Access数据库之SELECT操作
  20. tempnote.id=(int)reader["id"];  
  21. tempnote.title=reader["title"].ToString();  
  22. tempnote.content=reader["content"].ToString();  
  23. tempnote.author=reader["author"].ToString();  
  24. tempnote.email=reader["email"].ToString();  
  25. tempnote.http=reader["http"].ToString();  
  26. tempnote.pic=reader["pic"].ToString();  
  27. tempnote.hits=(int)reader["hits"];  
  28. tempnote.posttime=(DateTime)reader["posttime"];  
  29. }  
  30. else //如没有该记录,则抛出一个错误!  
  31. {  
  32. throw(new Exception("当前没有该记录!"));  
  33. }  
  34.  
  35. reader.Close();  
  36. conn.Close();  
  37. }  
  38. catch(Exception e)  
  39. {  
  40. //throw(new Exception("数据库出错:" + e.Message)) ;  
  41. }  
  42. return(tempnote); //返回Databook对象  
  43. } //C#操作Access数据库之SELECT操作

上面的程序就是通过OleDbDataReader来得到特定的记录的!其中用到的语句我单独写到下面:

  1. OleDbConnection conn = getConn();  
  2.  //getConn():得到连接对象  
  3. string strCom = "Select * from notes where id=" + noteid ;   
  4. //SQL语句  
  5. OleDbCommand myCommand =new OleDbCommand(strCom,conn);  
  6.  //建立OleDbCommand对象  
  7. conn.Open(); //注意我在前面说的Open语句在这里使用到了!  
  8. OleDbDataReader reader;   
  9. reader =myCommand.ExecuteReader() ;  
  10.  //执行command并得到相应的结果 

我在每句话后都加入了说明,其中OleDbConnection conn = getConn();就是通过我前面提到的getConn函数来得到数据库连接的,其他语句没有什么好说的,都很简单,就不多说了!

C#操作Access数据库之SELECT操作:再列一个通过OleDbDataAdapter来得到记录的例程:

  1. //Getlist():得到当前需要的留言列表  
  2. public DataView getNoteList()  
  3. {   
  4. DataView dataview;  
  5. System.Data.DataSet mydataset; //定义DataSet  
  6.  
  7. try 
  8. {   
  9. OleDbConnection conn = getConn(); //getConn():得到连接对象  
  10. OleDbDataAdapter adapter = new OleDbDataAdapter();  
  11. string sqlstr="select * from notes order by posttime desc";  
  12. mydataset= new System.Data.DataSet();  
  13. adapter.SelectCommand = new OleDbCommand(sqlstr, conn);  
  14. adapter.Fill(mydataset,"notes");   
  15. conn.Close();  
  16. }  //C#操作Access数据库之SELECT操作
  17. catch(Exception e)  
  18. {  
  19. throw(new Exception("数据库出错:" + e.Message)) ;  
  20. }   
  21. dataview = new DataView(mydataset.Tables["notes"]);  
  22. return(dataview);   

这个程序或许有些复杂,同样的,我还是先把那些关键语句列出,并说明:

  1. OleDbConnection conn = getConn();   
  2. //通过函数getConn()得到连接对象  
  3. OleDbDataAdapter adapter = new OleDbDataAdapter();   
  4. //实例化OleDbDataAdapter对象  
  5. string sqlstr="select * from notes order by posttime desc";   
  6. //SQL语句  
  7.  //C#操作Access数据库之SELECT操作
  8. mydataset= new System.Data.DataSet();   
  9. //由于OleDbDataAdapter需要和DataSet结合使用,所以在这里定义了DataSet对象,  
  10. //其实说OleDbDataAdapter复杂,  
  11. //其实就是因为DataSet的缘故DataSet有些类似于ADO中的recordset 对象,  
  12. //但功能远远超过了它,而且它和数据库是断开的,并能存放多个记录集!  
  13.  
  14. adapter.SelectCommand = new OleDbCommand(sqlstr, conn);   
  15. //设置命令为SelectCommand类型的  
  16.  
  17. adapter.Fill(mydataset,"notes");  
  18.  
  19.  //执行,并将结果添加到mydataset中的”notes”表中  
  20. conn.Close(); //关闭连接! 

在对上面的程序加一些补充说明,由于getNoteLista是得到一系列记录,并通过控件DataGrid来做分页显示的,所以我返回的是一个DataView类型的对象!

C#操作Access数据库之SELECT操作的基本内容就向你介绍到这里,希望对你了解和学习C#操作Access数据库之SELECT操作有所帮助。

【编辑推荐】

  1. C#操作Access之读取mdb浅析
  2. C#操作Access之按列读取mdb浅析
  3. C#操作Access实例解析
  4. C#操作Access数据库的基础知识浅析
  5. C#操作Access数据库实例浅析
责任编辑:仲衡 来源: 博客园
相关推荐

2009-08-19 16:30:55

C#操作Access数

2009-08-19 15:13:48

C#操作Access

2024-04-18 09:56:16

2009-08-19 15:55:42

C#操作Access

2009-08-19 16:19:01

C#操作Access数

2009-08-19 15:47:09

C#操作Access

2009-08-19 16:01:24

C#操作Access

2009-08-18 16:14:05

C# 操作Excel

2009-08-18 16:20:09

C# 操作Excel

2009-08-20 10:25:37

C#操作内存

2009-08-19 13:30:58

C#操作注册表

2009-08-19 13:34:55

C#操作注册表

2009-08-19 13:25:53

C#操作注册表

2009-08-17 17:42:57

C#数据库操作类

2009-08-18 16:42:49

C# 操作XML

2009-08-18 14:25:05

C# 操作Excel

2009-08-19 17:20:22

C# 操作符

2009-08-17 13:34:02

C#异步操作

2009-08-19 16:09:15

C#操作Access

2009-08-10 18:05:19

C#数据库查询
点赞
收藏

51CTO技术栈公众号