Revit连接Access数据库

欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207

背景

小伙伴们在做revit二次开发时,可能会需要用到数据库。
本文将介绍如何在Revit如何连接Access数据库,
其兄弟篇将会介绍Revit如何连接Mysql数据库
revit连接mysql数据库

思路

主要有两种方法:

1. OleDbDataAdapter方式:填入datatable中,遍历行列读取
2. sqlCommand方式:通过Read()方法,while循环读取

本文将会介绍OleDbDataAdapter方式,其兄弟篇体现sqlCommand方式。

代码

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using System.Threading;
namespace Revit_Access
{
    [Transaction(TransactionMode.Manual)]
    class Revit_Access : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            //获取当前文档
            Document doc = commandData.Application.ActiveUIDocument.Document;
            //数据库连接,accdb格式采用这种连接方式,另外一种mdb格式连接方式参看博主下面网址中的文章
            //https://blog.csdn.net/birdfly2015/article/details/87642181
            string oleDBString = "Provider=Microsoft.ACE.OLEDB.12.0;";
            oleDBString += @"Data Source=E:\黑夜の骑士\数据库.accdb"; 
            using (OleDbConnection objConnection = new OleDbConnection(oleDBString)) //连接数据库
            {
                objConnection.Open();//开启数据库  
                string sql = "select * from 表1 ";  //建立SQL查询  
                OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(sql, objConnection);
                DataSet ds = new DataSet();//新建表集合对象
                dbDataAdapter.Fill(ds); //用适配对象填充表对象
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//通过循环得到每一行每一列的元素
                {
                    for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
                    {
                        //输出数据库结果,这里默认为第一个table,列既可以通过列号,也可以通过列名来得到
                    	TaskDialog.Show("连接Access数据库",ds.Tables[0].Rows[i]["年龄"].ToString());
                    }
                }
            }
            return Result.Succeeded;
        }
    }
}

注意事项

需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111

  1. 如果想做本地读取,采用Access数据库(两种格式)即可,如果想做网络版读取则采用Mysql数据库
  2. 这里介绍了其中一种读取方式,另外一种大家可以参看兄弟篇
  3. 微信搜素公众号“工程人的编程课堂”,获得最新行业资讯,以及更多编程干货。
  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Revit可以通过使用Revit API和Revit插件来连接SQL Server数据库。通过这种方式,可以将Revit的模型数据存储到SQL Server数据库中,并在需要时从数据库中检索数据。 为了连接Revit和SQL Server数据库,首先需要安装Revit插件,该插件可以提供与数据库通信所需的功能和接口。安装插件后,可以使用Revit API中的相关类和方法来编写代码,实现与SQL Server数据库连接和数据交互。 连接SQL Server数据库的步骤大致如下: 1. 导入Revit API的相关命名空间和类。这些命名空间和类包含了与数据库连接和数据操作相关的功能。 2. 创建数据库连接字符串。连接字符串包含SQL Server的地址、数据库名称、用户身份验证方式等信息。可以通过代码将这些信息传递给连接字符串。 3. 使用数据库连接字符串创建数据库连接对象。可以使用Revit API中的SqlConnection类来创建数据库连接对象。 4. 打开数据库连接。通过调用连接对象的Open()方法,可以打开与SQL Server数据库连接。 5. 执行SQL查询语句。可以使用Revit API中的SqlCommand类来执行SQL查询语句,并将查询结果存储在Revit模型中。 6. 关闭数据库连接。在完成数据库操作后,应该调用连接对象的Close()方法,关闭与SQL Server数据库连接。 通过以上步骤,可以实现Revit和SQL Server数据库连接连接数据库后,可以使用SQL语句进行数据查询和操作,将数据库中的数据与Revit模型进行交互。这样,可以更方便地管理和更新Revit模型的数据,并将模型数据存储到SQL Server数据库中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值