自定义MYSQL
更新时间: 2023-12-01 浏览次数: {{ hits }}

MYSQL的执行(MYSQL版本:5.6.16)

通过Engine.Query()方法查询SQL,返回DataTable表格。

本接口只能执行增删改查sql语句,但是增删改请尽量使用业务对象操作,以防sql对数据操作不当,导致数据错乱。

表单对应数据库表名:i_表单编码

氚云系统表表名请参考《氚云系统表》


不带Parameter   sql执行示例:


string mysql = "SELECT ObjectId,Status FROM i_D00001ABC where ObjectId='eea54861-b22e-445b-89e2-e7f16a03b07d'";

System.Data.DataTable dtAccount = this.Request.Engine.Query.QueryTable(mysql, null);

if(dtAccount != null && dtAccount.Rows != null && dtAccount.Rows.Count > 0)

{

    //循环数据行

    foreach(System.Data.DataRow row in dtAccount.Rows)

    {

        //获取查询结果 当前行ObjectId字段值

        string ObjectId = row["ObjectId"] + string.Empty;


        //获取查询结果 当前行Status字段值

        int Status = Convert.ToInt32(row["Status"]);

    }

} else

{

    //查询结果为空

}



带Parameter   sql执行示例:

//本sql中@name即参数名,与H3.Data.Database.Parameter参数对象一一对应

string sql = "SELECT ObjectId FROM h_user WHERE Name=@name";


//定义参数集合

List < H3.Data.Database.Parameter > parameters = new List<H3.Data.Database.Parameter>();


//创建一个参数

H3.Data.Database.Parameter param = new H3.Data.Database.Parameter(

            "@name", //参数名(与sql中的@name一致)

            System.Data.DbType.String, //参数值类型

            "张三" //参数值    

);


//将参数添加到参数集合

parameters.Add(param);


//传入sql和参数查询结果

System.Data.DataTable dt = this.Engine.Query.QueryTable(sql, parameters.ToArray());


/*

常用参数值类型:

System.Data.DbType.String:字符串,对应string

System.Data.DbType.Int32:整数,对应int

System.Data.DbType.Double:双精度浮点数,对应double

System.Data.DbType.Decimal:高精度浮点数,对应decimal

System.Data.DbType.Date:日期,对应DateTime

System.Data.DbType.DateTime:日期,对应DateTime

System.Data.DbType.Boolean:布尔,对应bool

*/



自定义表单必要说明

表单数据表名:i_表单编码(注:如果该表单是模板表单或者标准版表单,表单编码应去掉“D00xxx”)

序号

字段中文名

字段英文名

特别值说明

1

数据Id

ObjectId


2

主表数据标题

Name


3

数据创建人Id

CreatedBy


4

数据归属人Id

OwnerId


5

数据归属部门Id

OwnerDeptId


6

数据创建时间

CreatedTime


7

对数据进行最后一次修改的人员id

ModifiedBy


8

对数据进行最后一次修改的时间

ModifiedTime


9

数据流程id

WorkflowInstanceId


10

数据状态

Status

值为0表示 草稿;

值为1表示 生效/流程结束;

值为2表示 流程进行中;

值为3表示 作废。

...

“表单内控件的值”

表单中控件的编码

控件值未填,数据库存储null

 

子表数据表

子表数据表名:i_子表控件编码

序号

字段中文名

字段英文名

特别值说明

1

子表数据Id

ObjectId


2

该数据所属主表的数据Id(根据此字段值关联主表数据)

ParentObjectId


3

子表编码

ParentPropertyName


4

本条数据处在子表第几行

ParentIndex

第一行下标:0

第二行下标:1

...

5

子表数据标题

Name


...

“子表内控件的值”

子表中控件的编码(除去子表编码的部分)

控件值未填,数据库存储null