精华内容
下载资源
问答
  •    ”*” value=”Provider Source=D:aa.... 您可能感兴趣的文章:C#编程实现连接ACCESS数据库实例详解C#使用ADO.Net部件来访问Access数据库的方法C#通过oledb访问access数据库的方法C#动态创建Access数据库及表的方
  • C#连接Access数据库例子 是http://blog.csdn.net/laomai/article/details/4131008的例子; 移动了数据库文件到项目文件夹下; 在Visual Studio 2013 运行成功。
  • 本文介绍了c#连接access数据库的方法,可以执行删除、更新、插入等操作,大家参考使用吧
  • c#access数据库连接

    2019-04-17 11:46:13
    c# 实现,与 access数据库连接,vs2010代码,实测有效,但数据量不易过大。
  • C#连接Access数据库

    2021-01-15 10:18:28
    C#连接Access数据库,实现登陆、增删改查等基本操作
  • C#连接Access数据库简单三层,方便新手作参考,vs2008做的。
  • C#连接access数据库

    2012-06-02 16:00:33
    有时候会用单机开发,但是不是所有的数据库的开发都用SQL server
  • 不能在直接在文件重命名,导致连接Access时语句报错。 需要做的是 打开Access数据库“另存为”选择“.mdb”格式,才能使用语句连接数据库; 在网上查阅“mdb”连接数据格式如下: @"Provider=Microsoft.JET.OLEDB....

    不可识别数据库格式

    在这里插入图片描述

    在这里插入图片描述

    解决:

    Access数据库默认创建的数据库格式后缀一般为“.accdb”,需要把它改为“.mdb”格式,
    不能在直接在在这里插入图片描述文件重命名,导致连接Access时语句报错。
    需要做的是
    在这里插入图片描述
    打开Access数据库“另存为”选择“.mdb”格式,才能使用语句连接数据库;
    在网上查阅“mdb”连接数据格式如下:

    @"Provider=Microsoft.JET.OLEDB.4.0;DATA SOURCE={0};Jet OLEDB:Database Password={1}","./Db.mdb", SQLPwd
    

    accddb”连接数据库格式如下:

    @"Provider=Microsoft.ACE.OLEDB.12.0;DATA SOURCE={0};Jet OLEDB:Database Password={1}", System.AppDomain.CurrentDomain.BaseDirectory+"Db.mdb",SQLPwd
    

    连接测试:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    参考文章:
    连接数据库
    语句连接数据库

    展开全文
  • 自己的简单连接本地的access数据库的小程序,通过datagridview控件显示数据,并实现翻页的功能,编译测试过
  • C# 连接ACCESS数据库 - 增删改查(详细步骤)

    千次阅读 多人点赞 2020-08-31 15:57:47
    基于上一篇博客C# 连接MySQL实现增删改查(详细步骤),现在记录下另一篇博客,如何连接ACCESS数据库实现增删改查。 总体上也不算很难,因为微软的Visual Studio 本就支持连接该数据库 ,不像MySQL数据库,还得下载...

    基于上一篇博客C# 连接MySQL实现增删改查(详细步骤),现在记录下另一篇博客,如何连接ACCESS数据库实现增删改查。
    总体上也不算很难,因为微软的Visual Studio 本就支持连接该数据库 ,不像MySQL数据库,还得下载插件安装才行!


    创建ACCESS数据库

    按照图片顺序创建一个简单的数据库吧!

    一、在自己的windows哪里找到该数据库,并双击打开在这里插入图片描述

    二、修改一下数据库的保存路径,并创建空白数据库
    在这里插入图片描述

    三、在创建的表格中添加字段,并添加一些数据,最后ctrl + s保存一下,并修改该表名为student
    在这里插入图片描述

    好了,数据库和表都已经创建好了


    Visual Studio 中添加数据库

    按照图片步骤完成

    一、在工具菜单中单击-连接到数据库
    在这里插入图片描述

    二、在弹出的窗口中:1.更改,选择对应的数据库;2.浏览,选择自己刚刚创建好的数据库路径;3.点击测试连接;4.单击高级(请看图三)
    在这里插入图片描述

    三、单击高级后,在弹出的高级属性中,复制最下面一行代码,用于连接该数据库。复制完后点击确认即可。(注意:一定要复制,如果不小心遗漏了,请看图五找回)
    在这里插入图片描述
    四、右侧单击-服务器资环管理器,就可以看到我们添加进来的数据库了
    在这里插入图片描述

    五、可以按下图操作找回连接数据库的代码
    在这里插入图片描述

    好了,Visual Studio 中把数据库添加进来了,下面就可以进行代码连接数据库了。


    代码连接ACCESS数据库,实现增删改查

    需包含的命名空间:
    using System.Data;
    using System.Data.OleDb;

    我们刚刚复制的:
    在这里插入图片描述
    画横线部分就是我们刚刚复制的。

    我们在创建连接数据库对象时需要使用到它来进行初始化OleDbConnection。

    剩下来的增删改查操作就不详细讲了,把代码写下来,供大家参考观看,代码中都有详细注释,自己慢慢研究吧,不难!

    using System;
    using System.Collections.Generic;
    using System.Data;			// 需包含的命名空间
    using System.Data.OleDb;	// 需包含的命名空间
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace Csharp连接ACCESS数据库 {
        class Program {
            static void Main(string[] args) {
                // 创建连接对象
                OleDbConnection odc = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\yangg\Desktop\Database3.accdb");
    
    			// 表字段
                int age = 0;
                int id = 0;
                string name = "";
                // 返回受影响的行数
                int result = 0;
    
    
                #region 增加
    
                try {
    
                    // 如果连接是关闭的,才进行打开
                    if (odc.State == ConnectionState.Closed) {
                        odc.Open(); // 打开连接
                    }
    
                    Console.WriteLine("请输入插入的id:");
                    id = int.Parse(Console.ReadLine());
                    Console.WriteLine("请输入插入的name:");
                    name = Console.ReadLine();
                    Console.WriteLine("请输入插入的age:");
                    age = int.Parse(Console.ReadLine());
    
                    // sql操作语句
                    string insert = "insert into student values(" + id + ", '" + name + "', " + age + ");";
    
                    // 创建用于实现SQL语句的对象
                    OleDbCommand oleDbCommand = new OleDbCommand(insert, odc);  // 参数一:sql语句 参数二:连接数据库的对象
    
                    // 执行,并返回受影响的行数
                    result = oleDbCommand.ExecuteNonQuery();
    
                    Console.WriteLine("受影响的行数({0})", result);
    
                }
                catch (Exception e) {
                    MessageBox.Show(e.ToString(), "提示");
                }
                finally {
                    odc.Close();    // 断开连接
                }
    
                #endregion
    
    
    
    
                #region 删除
    
                try {
    
                    // 如果连接是关闭的,才进行打开
                    if (odc.State == ConnectionState.Closed) {
                        odc.Open();
                    }
    
                    Console.WriteLine("请输入删除的id:");
                    id = int.Parse(Console.ReadLine());
    
                    // sql操作语句
                    string delete = "delete from student where id = " + id;
    
                    // 创建用于实现SQL语句的对象
                    OleDbCommand oleDbCommand2 = new OleDbCommand(delete, odc); // 参数一:sql语句 参数二:连接数据库的对象
    
                    // 执行,并返回受影响的行数
                    result = oleDbCommand2.ExecuteNonQuery();
    
                    Console.WriteLine("受影响的行数({0})", result);
    
                }
                catch (Exception e) {
                    MessageBox.Show(e.ToString(), "提示");
                }
                finally {
                    odc.Close();
                }
    
    
                #endregion
    
    
    
    
                #region 修改
    
                try {
    
                    // 如果连接是关闭的,才进行打开
                    if (odc.State == ConnectionState.Closed) {
                        odc.Open();
                    }
    
                    Console.WriteLine("请输入修改的id:");
                    id = int.Parse(Console.ReadLine());
                    Console.WriteLine("请输入修改的name:");
                    name = Console.ReadLine();
                    Console.WriteLine("请输入修改该的age:");
                    age = int.Parse(Console.ReadLine());
    
                    // sql操作语句
                    string update = "update student set Name = '" + name + "', Age = " + age + " where Id = " + id;
    
                    // 创建用于实现SQL语句的对象
                    OleDbCommand oleDbCommand3 = new OleDbCommand(update, odc);
    
                    // 执行,并返回受影响的行数
                    result = oleDbCommand3.ExecuteNonQuery();
    
                    Console.WriteLine("受影响的行数({0})", result);
    
                }
                catch (Exception e) {
                    MessageBox.Show(e.ToString(), "提示");
                }
                finally {
                    odc.Close();
                }
    
                #endregion
    
    
    
    
                #region 查询
    
                try {
    
                    // 如果连接是关闭的,才进行打开
                    if (odc.State == ConnectionState.Closed) {
                        odc.Open();
                    }
    
                    Console.WriteLine("请输入查询的age:");
                    age = int.Parse(Console.ReadLine());
    
                    // sql操作语句
                    string select = "select * from student where Age = " + age;
    
                    // 创建设配器对象
                    OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(select, odc);
    
                    // 新建表对象
                    DataTable dataTable = new DataTable();
    
                    // 用设配器对象填充表对象
                    dbDataAdapter.Fill(dataTable);
    
                    // 将查找到的数据遍历输出
                    foreach (DataRow dr in dataTable.Rows) {
                        Console.WriteLine("id = {0} name = {1} age = {2}", dr[0], dr[1], dr[2]);
                    }
    
                }
                catch (Exception e) {
                    MessageBox.Show(e.ToString(), "提示");
                }
                finally {
                    odc.Close();
                }
    
                #endregion
    
                Console.ReadKey();
            }
        }
    }
    

    // 如果连接是关闭的,才进行打开
    if (odc.State == ConnectionState.Closed) {
    odc.Open();
    }

    odc.Close();

    代码中这样做是为了防止多次打开而浪费系统资源!


    总结:差不多就这样了,增删改的操作都是一样的,就只有就有些不一样,但不影响。ACCESS数据库的操作和SQL的操作都一样,所以,也就这样吧!

    展开全文
  • C#连接Access数据库(详解)

    万次阅读 多人点赞 2018-07-10 19:58:52
    做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以选择使用access数据库,这样就...

    做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以选择使用access数据库,这样就能省去一定的开支.

    首先,我们建一个数据库,因为大家使用的office版本不同,有用2000的有用2003的还有用 2007或者2010的.我用的是2007,但是无论用哪个版本请把建的数据库建为.mdb结尾的2003版本的不要建 .accdb结尾的.

    建一个表,请先在设计视图里面设计列名,主键以及类型等 我们这里做一个简单的水果表,如图 你的数据库名为fruit.mdb,这个保存完后是一个数据库文件,里面可以包含各种表,里面的我们建了一个表也叫fruit请区分.建完表后请另存为 2002-2003格式的.mdb文件设置好保存路径.

    _________________________________________________还是那华丽的分割线_____________________________________________________

    表建完了,运行VS2012,我们做一个winform的小应用.

    拖入个DataGridView和一个Button做个界面

    代码

    复制代码
    using System.Data;
    using System.Data.OleDb;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace winform_access
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }private void button1_Click(object sender, EventArgs e)
            {
                OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\fruit.mdb"); //Jet OLEDB:Database Password=
                OleDbCommand cmd = conn.CreateCommand();
    
                cmd.CommandText = "select * from fruit";
                conn.Open();            
                OleDbDataReader dr = cmd.ExecuteReader();
                DataTable dt = new DataTable();
                if (dr.HasRows)
                {
                    for (int i = 0; i < dr.FieldCount; i++)
                    {
                        dt.Columns.Add(dr.GetName(i));
                    }
                    dt.Rows.Clear();
                }
                while (dr.Read())
                {
                    DataRow row = dt.NewRow();
                    for (int i = 0; i < dr.FieldCount; i++)
                    {
                        row[i] = dr[i];
                    }
                    dt.Rows.Add(row);
                }
                cmd.Dispose();
                conn.Close();
                dataGridView1.DataSource = dt;
            }
        }
    }
    复制代码

    这里面连接语句和SQL很像,就是把SqlConnection换成OleDbConnection,别忘了添加引用using System.Data.OleDb;

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\fruit.mdb" 拼接字符串,

    如果怕有拼写错误也可以运行   视图--服务器资源管理器--右键数据连接--添加一个Access数据库源并找到文件路径,然后生成完后在属性里面复制字符串连接,如图

    测试链接 连接成功后复制粘贴到OledbConnection()里面.

    如果遇到转译不识别 请把\处改为 \\或者 ""前面加@ 如"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\fruit.mdb" 或者@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\fruit.mdb"

    _________________________________________________还是那华丽的分割线_____________________________________________________

    如果出现  未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。

    在菜单 “项目”的最下面 工程属性  菜单,选择“生成”选项卡,将目标平台由“Amy CPU”或者“*64”改成“*86”。

       点击 配置管理器  新建一个x86的

     

    运行 

    _________________________________________________还是那华丽的分割线_____________________________________________________

    番外篇

    这里面的 if (dr.HasRows) while (dr.Read())

    如果用

    复制代码
        if (dr.Read())
                {
                    for (int i = 0; i < dr.FieldCount; i++)
                    {
                        dt.Columns.Add(dr.GetName(i));
                    }
                    dt.Rows.Clear();
                }
                while (dr.Read())
                {
                    DataRow row = dt.NewRow();
                    for (int i = 0; i < dr.FieldCount; i++)
                    {
                        row[i] = dr[i];
                    }
                    dt.Rows.Add(row);
                }
    复制代码

     

    数据少了第一条!,Read() 读到数据返回true但是从第二条开始读

     

     

    复制代码
    datareader.HasRows 只是检则库中是否有记录,如果有则返回true,还得再用read()读取.
    datareader.read()为从数据开头往后读,如果库中已读到结尾了(可能没有记录)则返回false,如果用在if中,则会自动读出一条,else里则不必再用read(),如果有while(含有read()条件),则自动从第二条开始往下读
    结论:单条可用read()检测,多条用到while时用HasRows检测...
    
    声明:SqlDataReader 提供一种从 SQL Server 数据库读取行的只进流的方式。无法继承此类。
    
    我在编写一个小程序时遇到一个小问题:
    
    使用SqlDataReader实例reader的HasRows判断数据流中是否存在数据,进而执行数据的输出操作,其中用到代码如下
    
    SqlDataReader reader = Command.ExecuteReader();
    while(reader.HasRows)
    {
    reader.Read();
    qx_Str = reader[0].ToString(); //出错位置
    }
    reader.Close();
    sqlcon.Close();
    
    运行后在红色位置报错:在没有任何数据时进行无效的读取尝试
    
    出现这种情况很明显是读取器运行到的位置无数据流,无法执行数据的输出
    
    这时确定判断是while处的判断条件有误,在MSDN文档中查询到:
    
    HasRows属性
    
    // HasRows 获取一个值,该值指示 System.Data.SqlClient.SqlDataReader 是否包含一行或多行。
    
    原来是出在HasRows的使用上,只要SqlDataReader存在数据流(数据流不为空)则返回的bool值为真,这样的话,这个循环总执行(难怪使用try ..catch 假死)。数据为空时,read[0]读取数据时,则会出现错误!
    
    那么如何避免出现该错误呢,仍然是用HasRows属性?
    
    可以想到只需利用if语句取消循环状态!!
    
    那么要用while怎么办呢?使用SqlDataReader实例的Read()方法,对!
    
    让我们认识一下Read()方法:
    
    // 摘要: 使 System.Data.SqlClient.SqlDataReader 前进到下一条记录。
    // 返回结果: 如果存在多个行,则为 true;否则为 false。
    
    则只需将reader.Read()替换reader.HasRows执行循环,为什么行呢?
    
    SqlDataReader的默认位置在[第一条记录前面]。因此,必须调用 Read 来开始访问任何数据。
    
    Read()为前进到下一条记录。当循环执行到Read()无数据时,则循环结束!!不过还要将循环里的Read()去掉,则每循环一次前进了两行数据。
            }
    复制代码

     

    FieldCount

    是读取有多少列字段,这里是返回的一个整数,读取到的列的个数.

     

    展开全文
  • C#连接Access数据库做登录界面

    千次阅读 2018-06-12 10:20:23
    平台:Win7 32位 VS2008 Access2007,数据库有加密1、界面布局 2、首先在vs的命名空间中引用Access库using System.Data.OleDb;3、命名了空间后在构造函数中写入我们的用户名和密码做保存数据。 public partial...

    平台:Win7 32位   VS2008    Access2007,

    数据库有加密

    1、界面布局

     
     

     

    2、首先在vs的命名空间中引用Access

    using System.Data.OleDb;

    3命名了空间后在构造函数中写入我们的用户名和密码做保存数据。

        public partial class Form1 : Form

        {

            static public string usmen;//用户名,用于保存

            static public string uspass;//密码,用于保存

            public Form1()

            {

     

    4在构造中做好了这里,现在开始确定控件来做判断

        public Form1()

            {

                InitializeComponent();

            } 

           private bool pdyj()

            {

                //if来判断框的内容

                if(textBox1.Text=="")

                    return false;

                if(textBox2.Text=="")

                    return false;

                return true;

            }

    在登录按钮下输入以下代码

            private void button1_Click(object sender, EventArgs e)

            {

                //这里写入刚刚的判断语句

                if (!pdyj())

                {

                    MessageBox.Show("请输入正确信息");

                    return;

                }

    做好了判断

    5、连接并打开数据库

                //创建路径及数据库名

                string strPath = Application.StartupPath + "\\login_data.mdb";

                //生成链接数据库字符串

                string oleCon = "provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:DataBase Password='xxx123';User Id='admin';Data source=" + strPath;

                //创建数据库连接

                OleDbConnection conn = new OleDbConnection(oleCon);

                //当创建好连接到Access后打开数据库连接

                conn.Open();

     

     

    6、查询数据库

    //SQL查询语句

                string Access="select username,userpassword from userlist where username='"+this.textBox1.Text+"'and userpassword='"+this.textBox2.Text+"'";//select是查询数据库语句

                OleDbCommand cmd=new OleDbCommand(Access,conn);

                OleDbDataReader hyw=cmd.ExecuteReader();

     

    7、然后判断输入的用户名和密码是否和数据库用户表中的数据一致,一致则登录成功,否则提示错误。

                if(hyw.Read())

                {

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

                    usmen=textBox1.Text;

                    uspass=textBox2.Text;

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

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

                    Form f2=new Form3();

                    this.Hide();

                    f2.ShowDialog();

                    this.Dispose();

                }

                else

                {

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

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

                }

    展开全文
  • c#连接Access数据库及增删改查操作

    万次阅读 多人点赞 2018-05-27 00:23:54
    c#窗体程序对Access数据库的增删改查,其他数据库可类似使用 准备工作: 窗体: access:版本2003(后缀.mdb,新版access可另存为2003兼容版) using: using System; using System.Data; using...
  • vs2017 C#连接access数据库需要的配置

    千次阅读 2019-03-08 20:36:59
    C#项目用vs2017连接access数据库可能会出现OLBD的错误。下面我给出解决方法: 1、在vs中点击工具,再打开连接到数据库,出现下图对话框,在数据库文件名中选择数据库文件。 2、点击上图高级,出现下图对话框,...
  • c#连接Access数据库及增删改查作 点击上方连接即可,文章内容很不错。
  • C#连接Access数据库字符串

    千次阅读 2016-04-19 08:46:30
    1.C#连接连接Access程序代码: ------------------------------------------------------------------------------- using System.Data; using System.Data.OleDb; ...... string strConnection=...
  • c#连接access数据库并显示内容 自己写的一个片断 数据库是c盘的绝对路径
  • 本文介绍C#访问操作Access数据库的基础知识,并提供一个相关的例程。 1.通过ADO.NET的OleDb相关类来操作Access 主要知识点如下: using System.Data.OleDb; using System.Data; 连接字符串:String connectionString...
  • c# 连接access数据库,该视频详细讲述了如何利用c#调用access
  • c#连接Access数据库

    2012-01-18 16:40:21
    主要描述了,C#中建立与Access数据库连接,并给出了查询的例子
  • C#连接Access数据库并读取图片已经浏览文件上传图片,使图片以长二进制数据数据形式存储,字段为ole对象
  • C#连接ACCESS数据库的详细步骤!

    万次阅读 2012-07-17 14:25:14
    //建立数据库引擎连接,注意数据表(后缀为.db)应放在DEBUG文件下  OleDbDataAdapter myda = new OleDbDataAdapter("select * from 雇员 ,strConnection);   //建立适配器,通过SQL语句去搜索数据库  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,614
精华内容 9,045
关键字:

c#连接access数据库

c# 订阅