小问题,送高分 myDataSet.Tables.Add("emp_code"); 这句话有什么意义?去掉吧! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System.Data.OleDb; 是不是下面这句话不对,你确定对吗,我知道SQL的是using System.Data.Client;如果不写会出现和你同样的错误 对于Access数据库就用using System.Data.OleDb 这句话有问题: string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://db1.MDB"; 路径改为 string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.MDB"; 下面这行去掉 myAccessConn.Open(); to:TheAres(班门斧) 照你说的改了还是不行,你有没测试过呀? 这是我的显示结果. 后面是程序. 如果不行,你把前面注释的部分打开,看看有没有连接数据库成功.Found data table Categories1 tables in data set1 tables in data set3 rows in Categories tableCategoryName[a] is bCategoryName[1] isCategoryName[2] isusing System;using System.Data;using System.Data.OleDb;namespace CSDNConsoleCS{ public class MainClass { public static void Main () { // 设定好连接字符串和选择命令字符串010: string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\1.MDB"; string strAccessSelect = "SELECT * FROM Categories"; OleDbConnection conn = new OleDbConnection(strAccessConn);// try// {// conn.Open();// conn.Close();// }// catch(Exception ex)// {// Console.WriteLine(ex.ToString());// } //建立记录集,并把Categories这个表填进去 DataSet myDataSet = new DataSet(); myDataSet.Tables.Add("Categories"); //建立ADO实例018: OleDbConnection myAccessConn = new OleDbConnection(strAccessConn); OleDbDataAdapter myAccessDataSetCmd = new OleDbDataAdapter(); myAccessDataSetCmd.SelectCommand = new OleDbCommand(strAccessSelect,myAccessConn); try { myAccessDataSetCmd.Fill(myDataSet,"Categories"); } catch(Exception ex) { Console.WriteLine(ex.ToString()); } finally { myAccessConn.Close(); } try { // 一个记录集可以包含多个表,我们把它们放到一个数组中035: foreach (DataTable dt in myDataSet.Tables) { Console.WriteLine("Found data table {0}", dt.TableName); } //下面的两行程序展示了两种从一个记录集中得到这个数据集中的表格数的方法 Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count); Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count); //下面的几行程序说明了如何从一个记录集中依靠表格的名称来取得信息 Console.WriteLine("{0} rows in Categories table", myDataSet.Tables["Categories"].Rows.Count); //列的信息是自动从数据库中得到的,所以我们可以用以下的代码047: Console.WriteLine("{0} columns in Categories table", myDataSet.Tables["Categories"].Columns.Count); DataColumnCollection drc = myDataSet.Tables["Categories"].Columns; int i = 0; foreach (DataColumn dc in drc) { //打印出列的下标和列的名称和数据类型053: Console.WriteLine("Column name[{0}] is {1}, of type {2}",i++ , dc.ColumnName, dc.DataType); } DataRowCollection dra = myDataSet.Tables["Categories"].Rows; foreach (DataRow dr in dra) { //打印出CategoryID和CategoryName059: Console.WriteLine("CategoryName[{0}] is {1}", dr[0], dr[1]); } } catch (Exception e) { Console.WriteLine("Oooops. Caught an exception:\n{0}", e.Message); } Console.ReadLine(); } }} WinCe下SqlDataReader没有HasRow属性 如何判断是否有记录? Winform 应用服务该怎么做? 如何获得网页的cooike 关于.NET三层的问题 麻烦各位大侠帮帮忙 未将对象应用设置到实例,这是什么情况? 提问:关于try finally 急!!!怎样远程监视数据库? C#的一个循环赋值 如何在c#应用程序(form窗口)中实现双击dataGrid中的任一行数据弹出一个信息框? 2001年程序员考试何时报名? 再次请教:如何写好这样的多线程程序 请问那里有c#入门经典?电子文档的???
是不是下面这句话不对,你确定对吗,我知道SQL的是
using System.Data.Client;
如果不写会出现和你同样的错误
string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.MDB";
下面这行去掉
myAccessConn.Open();
照你说的改了还是不行,你有没测试过呀?
1 tables in data set
1 tables in data set
3 rows in Categories table
CategoryName[a] is b
CategoryName[1] is
CategoryName[2] isusing System;
using System.Data;
using System.Data.OleDb;namespace CSDNConsoleCS
{
public class MainClass
{
public static void Main ()
{
// 设定好连接字符串和选择命令字符串010:
string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\1.MDB";
string strAccessSelect = "SELECT * FROM Categories"; OleDbConnection conn = new OleDbConnection(strAccessConn);// try
// {
// conn.Open();
// conn.Close();
// }
// catch(Exception ex)
// {
// Console.WriteLine(ex.ToString());
// } //建立记录集,并把Categories这个表填进去
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add("Categories");
//建立ADO实例018:
OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
OleDbDataAdapter myAccessDataSetCmd = new OleDbDataAdapter();
myAccessDataSetCmd.SelectCommand = new OleDbCommand(strAccessSelect,myAccessConn);
try
{
myAccessDataSetCmd.Fill(myDataSet,"Categories");
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
myAccessConn.Close();
} try
{
// 一个记录集可以包含多个表,我们把它们放到一个数组中035:
foreach (DataTable dt in myDataSet.Tables)
{
Console.WriteLine("Found data table {0}", dt.TableName);
} //下面的两行程序展示了两种从一个记录集中得到这个数据集中的表格数的方法
Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count);
Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count);
//下面的几行程序说明了如何从一个记录集中依靠表格的名称来取得信息
Console.WriteLine("{0} rows in Categories table", myDataSet.Tables["Categories"].Rows.Count);
//列的信息是自动从数据库中得到的,所以我们可以用以下的代码047: Console.WriteLine("{0} columns in Categories table", myDataSet.Tables["Categories"].Columns.Count);
DataColumnCollection drc = myDataSet.Tables["Categories"].Columns;
int i = 0;
foreach (DataColumn dc in drc)
{
//打印出列的下标和列的名称和数据类型053: Console.WriteLine("Column name[{0}] is {1}, of type {2}",i++ , dc.ColumnName, dc.DataType);
}
DataRowCollection dra = myDataSet.Tables["Categories"].Rows;
foreach (DataRow dr in dra)
{
//打印出CategoryID和CategoryName059:
Console.WriteLine("CategoryName[{0}] is {1}", dr[0], dr[1]);
}
}
catch (Exception e)
{
Console.WriteLine("Oooops. Caught an exception:\n{0}", e.Message);
}
Console.ReadLine();
}
}}