二开案例.表单插件.访问MySql

【应用场景】
在星空的插件中访问MySQL数据库。
【注意事项】
<1>星空内置了组件MySql.Data.dll,导致其版本必须是:6.8.4,高了低了都不行。您在使用该组件编译二开插件项目的时候,需确保是使用的此版本,否则运行时会报错中断。
<2>由于MySql.Data.dll本身的bug,目前MySql8系列无法搭配6.8.4的MySql.Data.dll使用,MySql5系列可以,请注意避坑。
更多兼容性问题解决方案请参考:
https://vip.kingdee.com/questions/385390466256681984
https://learn.microsoft.com/zh-cn/dotnet/framework/configure-apps/file-schema/runtime/
【案例演示】
采购订单,表单插件,访问MySQL数据库,读写数据。
【环境准备】
安装MySql5.7,提前建库建表。
--MySql版本:5.7 CREATE SCHEMA `testdb` DEFAULT CHARACTER SET gb2312; CREATE TABLE `testdb`.`t_jac_log` ( `id` INT NOT NULL AUTO_INCREMENT, `msg` NVARCHAR(200) NULL, `log` NVARCHAR(4000) NULL, `creatorid` INT NULL, `createtime` DATETIME NULL, PRIMARY KEY (`id`) );
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Util;
using MySql.Data.MySqlClient;
using System;
using System.ComponentModel;
using System.Data;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】访问MySql
/// </summary>
[Description("【表单插件】访问MySql"), HotUpdate]
public class AccessMySqlFormPlugIn : AbstractDynamicFormPlugIn
{
/// <summary>
/// MySQL数据库连接字符串
/// </summary>
private string connectionString = "server=localhost;user id=jac;password=888888;database=testdb;charset=gb2312;";
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
Do();
}
private void Do()
{
var ds = new DataSet();
using (var con = new MySqlConnection(connectionString))
{
con.Open();
var ins二开案例.表单插件.访问MySql
【应用场景】在星空的插件中访问MySQL数据库。【注意事项】<1>星空内置了组件MySql.Data.dll,导致其版本必须是:6.8.4,高了低了都不行。...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



