C# 我设置OleDb连接有困难

C# 我设置OleDb连接有困难,c#,oledb,C#,Oledb,您好,我正在尝试建立与数据源的连接,提取信息并将其显示在网格视图中。问题是我总是得到ada的空值。是否可能输入了错误的查询,或者适配器是否有问题 此外,我使用myInt变量插入不同的数据源,因为我必须处理多个文件,这可能也会有问题 try { //establish connectioin OleDbConnection conn = new OleDbConnection(("provider=Micros

您好,我正在尝试建立与数据源的连接,提取信息并将其显示在网格视图中。问题是我总是得到ada的空值。是否可能输入了错误的查询,或者适配器是否有问题

此外,我使用myInt变量插入不同的数据源,因为我必须处理多个文件,这可能也会有问题

try
            {
                //establish connectioin
                OleDbConnection conn = new OleDbConnection(("provider=Microsoft.Jet.OLEDB.4.0; " + ("data source=" + myInt + ";" + "Extended Properties=Excel 8.0;")));

               OleDbDataAdapter ada = new OleDbDataAdapter("SELECT * FROM MarkingSheet$]", conn);

                DataSet ds = new DataSet();

               ada.Fill(ds);
               dataGridView1.DataSource = ds.Tables[0].DefaultView;

               conn.Close();
            }
答复 这就是我的工作

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + myPath + ";Excel 12.0;HDR=YES;"); ;
              conn.Open();
              OleDbDataAdapter ada = new OleDbDataAdapter("select * from [Marking Sheet$]", conn); ;
               DataSet ds = new DataSet();
               ada.Fill(ds);
将sql更改为

"SELECT * FROM [MarkingSheet$]"

因为缺少一个开口支架。

代码中的错误是,在尝试填充适配器时,您尚未打开连接。您的SQL语句也是错误的。您也可能希望将DataTable绑定到DataGridView,如下所示:-

 try
     {

         OleDbConnection conn = new OleDbConnection(("provider=Microsoft.Jet.OLEDB.4.0; " + ("data source=" + myInt + ";" + "Extended Properties=Excel 8.0;")));

         OleDbDataAdapter ada = new OleDbDataAdapter("SELECT * FROM [MarkingSheet$]", conn);

         DataSet ds = new DataSet();

         conn.Open();             

         ada.Fill(ds.Tables[0]);

         conn.Close();

         BindingSource bs = new BindingSource();
         bs.Datasource = ds.Tables[0];

         dataGridView1.DataSource = bs;

      }
  catch(OledbException x)
      {
        // Handle Exception
      }
编辑**

尝试将连接字符串更改为:-

string connString = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" + myInt + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1\";";

什么是
null
myInt
包含什么?(这个名字暗示了一个int,当然它不起作用)我纠正了它,它是一个指向实际excel文件的路径。我为adapter@Tim Schmelter获取了一个空值。文件是否包含标题列?否。文件中的数据很难解释,其中有几行解释,然后是一些列,其中包含我需要的信息(tbh类似于带表的word文件)。从某些列获取值也可以。我不需要看整个工作表@蒂姆·施梅尔特