这段c#链接access代码哪里错了,点击按钮后跟卡住一样没反应(刚接触C#,请说出修改方法)using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Data.SqlClient;
using System.IO;namespace WpfApplication2
{
    /// <summary>
    /// dbWindow1.xaml 的交互逻辑
    /// </summary>
    public partial class dbWindow1 : Window
    {
        public dbWindow1()
        {
            InitializeComponent();
        }        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string dir = Directory.GetCurrentDirectory();
            using (SqlConnection conn = new SqlConnection("Data Source=" + dir + "db.mdb;DataBase=db"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from userinfo";
                    using(SqlDataReader reader = cmd.ExecuteReader())
                    {
                           while(reader.Read())
                           {
                               string username = reader.GetString(1);
                               MessageBox.Show(username);
                           }
                    }
                }
            }
        }
    }
}

解决方案 »

  1.   

    已添加引入:
    using System.Data;
    using System.Data.OleDb;为啥还提示无法找到 OleDbConneciton
      

  2.   

    操作access,可以考虑下cyq.data,有开源版本下载,access还有很多隐藏的异常点,cyq.data在access的处理上做的很完善。
      

  3.   

    已添加引入:
    using System.Data;
    using System.Data.OleDb;为啥还提示无法找到 OleDbConneciton+ using (OleDbConnection cn = new OleDbConnection(connectionString))
    {
    cn.Open(); //call the overload that takes a connection in place of the connection string
    return ExecuteNonQuery(cn, commandType, commandText, commandParameters);
    }
      

  4.   

    第32行用的是SQL连接,而不是OleDb连接;"SqlConnection"
      

  5.   

    首先当然要引用,SQL引用sqlclient,ACCESS引用OLeDb等。
    其次定义数据连接,SqlConnection conn = new SqlConnection("Data Source=" + dir + "db.mdb;DataBase=db"))是SQL的连接,ACCESS用的是OleDb的连接:OleDbConnection objConnection=new OleDbConnection(strConnection);另外,两者的连接字符串也不相同,ACCESS 2003及之前版本和2007、2010的又有区别。百度一下C#操作ACCESS数据库,有很多的,百度文库里的应该够用。