在C#中使用ADO.Net部件访问Access数据库,可是using System.Data.ADO;语句报错说:“类型或命名空间名称ADO在类或命名空间System.Data中不存在(是否缺少程序集引用?)”这是怎么一回事,求达人赐教
解决方案 »
- 小弟请教委托方面的知识。
- 为什么保存文件的时候会加上程序的路径(不保存到绝对路径)
- wince问题,高手近来看看。C#调用ocx(c++)
- 如何修改远程PC的系统时间
- PictureBox显示图片的问题
- 新手入门:请各位前辈推荐几本c#入门的书籍和提高的书籍………………………………
- 请求各位一个非常有挑战和实际意义的问题。特请:归思,水如烟,机枪兵大侠和众高手相助!
- C# 按住键盘某个键的同时点击鼠标触发事件该如何实现,求高人指点,感谢!
- C#怎么对已有dataset.tablesce 能自动填充效果
- 这个参数化的commandText有问题吗?
- 初学者的简单问题 谢谢了!!!
- 有人做过多显卡操作的程序吗
改成
using System.Data.OleDb;
001: using System;
002: using System.Data;
003: using System.Data.ADO;
004:
005: public class MainClass
006: {
007: public static void Main ()
008: {
009: // 设定好连接字符串和选择命令字符串010: string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BugTypes.MDB";
011: string strAccessSelect = "SELECT * FROM Categories";
012:
013: //建立记录集,并把Categories这个表填进去
014: DataSet myDataSet = new DataSet();
015: myDataSet.Tables.Add("Categories");
016:
017: //建立ADO实例018: ADOConnection myAccessConn = new ADOConnection(strAccessConn);
019: ADODataSetCommand myAccessDataSetCmd = new ADODataSetCommand();
020: myAccessDataSetCmd.SelectCommand = new ADOCommand(strAccessSelect,myAccessConn);
021:
022: myAccessConn.Open();
023: try
024: {
025: myAccessDataSetCmd.FillDataSet(myDataSet,"Categories");
026: }
027: finally
028: {
029: myAccessConn.Close();
030: }
031:
032: try
033: {
034: // 一个记录集可以包含多个表,我们把它们放到一个数组中035: DataTable[] dta = myDataSet.Tables.All;
036: foreach (DataTable dt in dta)
037: {
038: Console.WriteLine("Found data table {0}", dt.TableName);
039: }
040:
041: //下面的两行程序展示了两种从一个记录集中得到这个数据集中的表格数的方法
042: Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count);
043: Console.WriteLine("{0} tables in data set", dta.Length);
044: //下面的几行程序说明了如何从一个记录集中依靠表格的名称来取得信息
045: Console.WriteLine("{0} rows in Categories table", myDataSet.Tables["Categories"].Rows.Count);
046: //列的信息是自动从数据库中得到的,所以我们可以用以下的代码047: Console.WriteLine("{0} columns in Categories table", myDataSet.Tables["Categories"].Columns.Count);
048: DataColumn[] drc = myDataSet.Tables["Categories"].Columns.All;
049: int i = 0;
050: foreach (DataColumn dc in drc)
051: {
052: //打印出列的下标和列的名称和数据类型053: Console.WriteLine("Column name[{0}] is {1}, of type {2}",i++ , dc.ColumnName, dc.DataType);
054: }
055: DataRow[] dra = myDataSet.Tables["Categories"].Rows.All;
056: foreach (DataRow dr in dra)
057: {
058: //打印出CategoryID和CategoryName059: Console.WriteLine("CategoryName[{0}] is {1}", dr[0], dr[1]);
060: }
061: }
062: catch (Exception e)
063: {
064: Console.WriteLine("Oooops. Caught an exception:\n{0}", e.Message);
065: }
066: }
067: }
ole好像支持其他的数据库!!
至于ado。net无非就是一个数据访问框架!!~~