zhu2017 2015-06-08 08:08 采纳率: 100%
浏览 1707
已采纳

C#中连接Access的问题

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;//连接Access数据库

namespace Login
{
public partial class Form1 : Form
{
static public string username;//用于保存用户名
static public string password;

    public Form1()
    {
        InitializeComponent();
    }

    //判断语句
    private bool judge()
    {
        if (txt_username.Text == "")
            return false;
        if (txt_password.Text == "")
            return false;
        return true;
    }

    //登陆按钮的点击
    private void btn_login_Click(object sender, EventArgs e)
    {
        if (!judge())
        {
            MessageBox.Show("请输入正确的的信息...");
            return ;
        }
        //创建路径及数据名
        string strPath = Application.StartupPath+"\\login.accdb";
        //生成来连接数据库字符串
        string oleCon = "provider=Microsoft.Jet.OLEDB.12.0;Data source=" + strPath;
        //创建数据库连接
        OleDbConnection conn = new OleDbConnection(oleCon);
        //
        conn.Open();

        //SQL查询语句
        string access = "select UserId,Password from user where UserId='" + this.txt_username.Text + "'and Password='" + this.txt_password.Text + "'";

        OleDbCommand cmd = new OleDbCommand(access, conn);

        OleDbDataReader hyw = cmd.ExecuteReader();
        if (hyw.Read())
        {

            //在构造中我们的量就作为判断

            username = txt_username.Text;

            password = txt_password.Text;

            //一旦连接成功了就弹出窗口

            MessageBox.Show("登录成功!");

            Form f2 = new Form2();

            this.Hide();

            f2.ShowDialog();

            this.Dispose();

        }

        else
        {

            //信息错误,判断条件不成立

            MessageBox.Show("输入用户密码错误");

        }
    }


}

}

报 未在本地计算机上注册“Microsoft.Jet.OLEDB.12.0”提供程序。???
后来我安装了AccessDatebaseEngine.exe 还是报一样的错

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-06-08 08:12
    关注

    安装了AccessDatebaseEngine.exe,那么你应该用ACE 12.0或者ACE 14.0而不是OLEDB 12.0,再说OLEDB最高也就是4.0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题