无法在数据源列表中找到OLEDB提供者。

问题描述 投票:0回答:1

我正试图在我的项目中添加一个ADO.net实体数据模型。我有accdb文件。当我试图将其添加到数据源中时,无法在列表中获得OLEDB提供者。

enter image description here

我已经有了Microsoft Access引擎提供者。我在我的系统上缺少什么。请帮助我。任何帮助将是非常感激的。

c# visual-studio oledb access
1个回答
0
投票

我不知道这是否会给你的连接作为一个下拉项目,但这些代码样本向你展示了几个方法来连接到MS Access。

using System;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb; 

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connetionString = null;
            OleDbConnection oledbCnn ;
            OleDbDataAdapter oledbAdapter ;
            DataSet ds = new DataSet();
            string sql = null;
            int i = 0;

            connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;";
            sql = "Your SQL Statement Here like Select * from product"; 

            oledbCnn = new OleDbConnection(connetionString);
            try
            {
                oledbCnn.Open();
                oledbAdapter = new OleDbDataAdapter(sql, oledbCnn);
                oledbAdapter.Fill(ds);
                for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
                {
                    MessageBox.Show(ds.Tables[0].Rows[i].ItemArray[0] + " -- " + ds.Tables[0].Rows[i].ItemArray[1]);
                }
                oledbAdapter.Dispose();
                oledbCnn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Can not open connection ! ");
            }
        }
    }
}

using System;
using System.Windows.Forms;
using System.Data.OleDb; 

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connetionString = null;
            OleDbConnection oledbCnn ;
            OleDbCommand oledbCmd ;
            string sql = null;

            connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;";
            sql = "Your SQL Statement Here like Select * from product";

            oledbCnn = new OleDbConnection(connetionString);
            try
            {
                oledbCnn.Open();
                oledbCmd = new OleDbCommand(sql, oledbCnn);
                OleDbDataReader oledbReader = oledbCmd.ExecuteReader();
                while (oledbReader.Read ())
                {
                    MessageBox.Show(oledbReader.GetValue(0) + " - " + oledbReader.GetValue(1) + " - " + oledbReader.GetValue(2));
                }
                oledbReader.Close();
                oledbCmd.Dispose();
                oledbCnn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Can not open connection ! ");
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.