来自 澳门威尼斯人注册网站 2019-12-29 05:22 的文章
当前位置: 澳门威尼斯人平台 > 澳门威尼斯人注册网站 > 正文

澳门威尼斯人注册网站it技术-ASP查询无限级分类子栏目ID

假如现在有表结构:

首先看一下mysql的这个函数CONCAT(str1,str2,…)

ASP查询无限级分类子栏目ID
我写了一个查询无限级子栏目ID的函数,代码如下:
Function ChildSort(Cuz,SortID)
fSortID = Int
Set RsLs=server.CreateObject("adodb.recordset")
Sql="Select SortID From [Cuz_"&Cuz&"Sort] where ParentID="&fSortID&" order by SortSeq"
RsLs.Open Sql,Conn,1,1
While Not RsLs.Eof
ChildSort=ChildSort&","&Int(RsLs)&ChildSort(Cuz,RsLs)
RsLs.MoveNext
Wend

1.关于部门管理时候根据上级产生下级部门ID的问题(传入一个参数是上级部门id)

澳门威尼斯人注册网站 1

 

两种解决方案:

第一种: 在数据库就生成加一后的字符串

1.

SELECT MAX(unitId+1) FROM t_unit_base_info WHERE upUnitId='10'

 

澳门威尼斯人注册网站 2

 

 

2.

SELECT MAX(unitId)+1 FROM t_unit_base_info WHERE upUnitId='10'

 

澳门威尼斯人注册网站 3

 

 

 

第二种:在数据库查出当前最大值后在service层加一作为下个添加的ID

数据库查询当前最大值:

SELECT MAX(unitId) FROM t_unit_base_info WHERE     upUnitId='10'

 

 

  澳门威尼斯人注册网站 4

Service层加一

       String nextId = unitMapper.getNextUnitId(upUnitId);
            if (nextId == null) {
                nextId = upUnitId + "001";
            } else {
                nextId = Integer.toString(Integer.parseInt(nextId) + 1);
            }

 

 

 

 

CREATE TABLE `msg_detail` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `title` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '标题',
    `content` TEXT NOT NULL COMMENT '内容',
    `audio_url` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '音频地址',
    `type_id` TINYINT(4) NOT NULL DEFAULT '0',
     PRIMARY KEY (`id`),
    INDEX `cid` (`cid`) USING BTREE,
    INDEX `column_id` (`column_id`) USING BTREE
)
COMMENT='内参表'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1;

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col)

RsLs.Close:Set RsLs=Nothing
End Function
显示结果是“,1,2,3”的形式,如何在函数内把最前面的“,”去掉,注意我说的函数内解决

2.关于带有字母的ID自动生成问题

澳门威尼斯人注册网站 5

 

1.第一种:(长度定死,数据库直接加一)

SELECT CONCAT(SUBSTR(MAX(meetingId),1,1),SUBSTR(MAX(meetingId), 2) + 1) FROM t_meeting_base_info;

 

 

2.第二种:

  同上面一样,在数据库中查出当前最大值后,在Service层加一

 

 

mysql> SELECT CONCAT(‘My’, ‘S’, ‘QL’);

  查询所有类型内参最大id,可用如下sql: 

-> ‘MySQL’

 select max(id),type_id from msg_detail group by type_id; 

mysql> SELECT CONCAT(‘My’, NULL, ‘QL’);

 

-> NULL

mysql>SELECT CONCAT(14.3);

本文由澳门威尼斯人平台发布于澳门威尼斯人注册网站,转载请注明出处:澳门威尼斯人注册网站it技术-ASP查询无限级分类子栏目ID

关键词: