Revit连接Mysql数据库

版权声明:此文由黑夜の骑士创作,转载请注明出处,交流qq1056291511 https://blog.csdn.net/birdfly2015/article/details/87923301

背景

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

思路

主要有两种方法:

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

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

代码

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using MySql.Data.MySqlClient;

namespace Revit_Mysql
{
    [Transaction(TransactionMode.Manual)]
    class Revit_Mysql : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            Document doc = commandData.Application.ActiveUIDocument.Document;
            //输入自己的Mysql账号(一般默认为root)、密码以及数据库名称        
            String connetStr = "server=127.0.0.1;port=3306;user=root;password=密码; database=数据库名称;";
            MySqlConnection conn = new MySqlConnection(connetStr);
            conn.Open();//打开通道,建立连接
            string sql = "select * from 表名";
            MySqlCommand cmd = new MySqlCommand(sql, conn);
            MySqlDataReader reader = cmd.ExecuteReader();//执行ExecuteReader()返回一个MySqlDataReader对象
            while (reader.Read())//遍历每一行
                {
                //输出数据库结果,列既可以通过列号,也可以通过列名来得到
                //针对不通类型参数,采用相对应的reader.get方法
                TaskDialog.Show("连接Mysql数据库", reader.GetString("族名称"));
                }
            return Result.Succeeded;
        }
    }
}

注意事项

  1. 如果想做网络版读取则采用Mysql数据库,如果想做本地读取,采用Access数据库(两种格式)即可。
  2. 这里介绍了其中一种读取方式,另外一种大家可以参看兄弟篇

微信搜素公众号“BIM视界”,获得最新行业资讯,以及更多编程干货。

猜你喜欢

转载自blog.csdn.net/birdfly2015/article/details/87923301