框架-字符串拼接、数据库拆分
2015-11-27 09:28
549 查看
1.Jquery页面拼接字符串方法
//开始做字符的合并
var mLevelHtmlInfo = "";
var levelCodes = $("#LevelCodes").val().split(',');
if (levelCodes.length > 0) {
for (var i = 0; i < levelCodes.length; i++) {
var a= $("#" + levelCodes[i]).val();
var b= $("#" + levelCodes[i] + "Ability").val();
var s = '';
$('input[name="'+levelCodes[i]+'"]:checked').each(function() {
s += $(this).val() + ',';
});
var endValue = a + "$" + b + "|" + s;
mLevelHtmlInfo += endValue + ">>";
}
}
2.数据库拆分字符串方法:
--定义LevelAfter(等级表)截取字段
DECLARE @pt_arrCount INT
DECLARE @pt_Index INT
DECLARE @pt_TaskInfoGUID VARCHAR(50)
--定义嵌套表LevelInfo(等级水平表)截取字段
DECLARE @pt_arrCount1 INT
DECLARE @pt_Index1 INT
DECLARE @pt_TaskInfoGUID1 VARCHAR(50)
a.这里是嵌套拆分字符串(001$能力培养|014001,014002,014003>>002$能力培养|014001,014002,014003)
--开始进行切割字符串
SELECT @pt_arrCount = dbo.App_S_funcGetArrayLength(@pi_Xml, '>>')
set @pt_Index = 1
while @pt_Index <= @pt_arrCount
begin
SELECT @pt_TaskInfoGUID = dbo.App_S_funcGetValueOfArrayIndex(@pi_Xml,'>>', @pt_Index)
if @pt_TaskInfoGUID!=''
begin
--开始第二次循环
declare @pt_LevelCode varchar(50)
set @pt_LevelCode=substring(@pt_TaskInfoGUID,1,charindex('$',@pt_TaskInfoGUID)-1)
declare @pt_Ability varchar(500)
set @pt_Ability=substring(@pt_TaskInfoGUID,charindex('$',@pt_TaskInfoGUID)+1,charindex('|',@pt_TaskInfoGUID)-charindex('$',@pt_TaskInfoGUID)-1)
declare @pt_LevelInfos varchar(500)
set @pt_LevelInfos=substring(@pt_TaskInfoGUID,charindex('|',@pt_TaskInfoGUID)+1,len(@pt_TaskInfoGUID)-charindex('|',@pt_TaskInfoGUID))
--开始插入主表
declare @pt_ProductLevelCode varchar(50)
set @pt_ProductLevelCode=newid()
if @pt_Ability!='' and @pt_LevelInfos!=''
begin
insert into TrainErp_Product_LevelAfter values(@pt_ProductLevelCode,@pi_ProductCode,@pt_LevelCode,@pt_Ability)
--开始循环从表的数据
SELECT @pt_arrCount1 = dbo.App_S_funcGetArrayLength(@pt_LevelInfos, ',')
set @pt_Index1 = 1
while @pt_Index1 <= @pt_arrCount1
begin
SELECT @pt_TaskInfoGUID1 = dbo.App_S_funcGetValueOfArrayIndex(@pt_LevelInfos,',', @pt_Index1)
if @pt_TaskInfoGUID1!=''
begin
insert into TrainErp_Product_ProductLevelInfo values(newid(),@pt_ProductLevelCode,@pt_TaskInfoGUID1)
end
set @pt_Index1 = @pt_Index1+ 1
end
end
end
set @pt_Index = @pt_Index + 1
end
b.单个字符串拆分
--开始循环从表的数据
SELECT @pt_arrCount1 = dbo.App_S_funcGetArrayLength(@pt_LevelInfos, ',')
set @pt_Index1 = 1
while @pt_Index1 <= @pt_arrCount1
begin
SELECT @pt_TaskInfoGUID1 = dbo.App_S_funcGetValueOfArrayIndex(@pt_LevelInfos,',', @pt_Index1)
if @pt_TaskInfoGUID1!=''
begin
insert into TrainErp_Product_ProductLevelInfo values(newid(),@pt_ProductLevelCode,@pt_TaskInfoGUID1)
end
set @pt_Index1 = @pt_Index1+ 1
end
//开始做字符的合并
var mLevelHtmlInfo = "";
var levelCodes = $("#LevelCodes").val().split(',');
if (levelCodes.length > 0) {
for (var i = 0; i < levelCodes.length; i++) {
var a= $("#" + levelCodes[i]).val();
var b= $("#" + levelCodes[i] + "Ability").val();
var s = '';
$('input[name="'+levelCodes[i]+'"]:checked').each(function() {
s += $(this).val() + ',';
});
var endValue = a + "$" + b + "|" + s;
mLevelHtmlInfo += endValue + ">>";
}
}
2.数据库拆分字符串方法:
--定义LevelAfter(等级表)截取字段
DECLARE @pt_arrCount INT
DECLARE @pt_Index INT
DECLARE @pt_TaskInfoGUID VARCHAR(50)
--定义嵌套表LevelInfo(等级水平表)截取字段
DECLARE @pt_arrCount1 INT
DECLARE @pt_Index1 INT
DECLARE @pt_TaskInfoGUID1 VARCHAR(50)
a.这里是嵌套拆分字符串(001$能力培养|014001,014002,014003>>002$能力培养|014001,014002,014003)
--开始进行切割字符串
SELECT @pt_arrCount = dbo.App_S_funcGetArrayLength(@pi_Xml, '>>')
set @pt_Index = 1
while @pt_Index <= @pt_arrCount
begin
SELECT @pt_TaskInfoGUID = dbo.App_S_funcGetValueOfArrayIndex(@pi_Xml,'>>', @pt_Index)
if @pt_TaskInfoGUID!=''
begin
--开始第二次循环
declare @pt_LevelCode varchar(50)
set @pt_LevelCode=substring(@pt_TaskInfoGUID,1,charindex('$',@pt_TaskInfoGUID)-1)
declare @pt_Ability varchar(500)
set @pt_Ability=substring(@pt_TaskInfoGUID,charindex('$',@pt_TaskInfoGUID)+1,charindex('|',@pt_TaskInfoGUID)-charindex('$',@pt_TaskInfoGUID)-1)
declare @pt_LevelInfos varchar(500)
set @pt_LevelInfos=substring(@pt_TaskInfoGUID,charindex('|',@pt_TaskInfoGUID)+1,len(@pt_TaskInfoGUID)-charindex('|',@pt_TaskInfoGUID))
--开始插入主表
declare @pt_ProductLevelCode varchar(50)
set @pt_ProductLevelCode=newid()
if @pt_Ability!='' and @pt_LevelInfos!=''
begin
insert into TrainErp_Product_LevelAfter values(@pt_ProductLevelCode,@pi_ProductCode,@pt_LevelCode,@pt_Ability)
--开始循环从表的数据
SELECT @pt_arrCount1 = dbo.App_S_funcGetArrayLength(@pt_LevelInfos, ',')
set @pt_Index1 = 1
while @pt_Index1 <= @pt_arrCount1
begin
SELECT @pt_TaskInfoGUID1 = dbo.App_S_funcGetValueOfArrayIndex(@pt_LevelInfos,',', @pt_Index1)
if @pt_TaskInfoGUID1!=''
begin
insert into TrainErp_Product_ProductLevelInfo values(newid(),@pt_ProductLevelCode,@pt_TaskInfoGUID1)
end
set @pt_Index1 = @pt_Index1+ 1
end
end
end
set @pt_Index = @pt_Index + 1
end
b.单个字符串拆分
--开始循环从表的数据
SELECT @pt_arrCount1 = dbo.App_S_funcGetArrayLength(@pt_LevelInfos, ',')
set @pt_Index1 = 1
while @pt_Index1 <= @pt_arrCount1
begin
SELECT @pt_TaskInfoGUID1 = dbo.App_S_funcGetValueOfArrayIndex(@pt_LevelInfos,',', @pt_Index1)
if @pt_TaskInfoGUID1!=''
begin
insert into TrainErp_Product_ProductLevelInfo values(newid(),@pt_ProductLevelCode,@pt_TaskInfoGUID1)
end
set @pt_Index1 = @pt_Index1+ 1
end
相关文章推荐
- redis(三) 持久化机制
- SQL表名,应该用复数还是单数
- redis(二)
- 框架-数据库自动生成编号
- 框架-数据库定义MD5加密
- 集算器协助SQL实现非等值分组
- 多数据库数据导入
- 【DB】Oracle 打开/关闭服务DOS命令
- 错误号码2003 Can't connect to MySQL server on 'localhost'(10061)
- MySQL服务无法启动 navicat无法连接
- Oracle分析函数-等级函数
- mysql 建数据库、建表、插入数据、增删列
- 如何查看安装的sql server是什么版本
- sql server之批量数据导入
- JDBC连接数据库实现删除功能
- JDBC连接MySQL
- 在OGG中跳过Oracle DB 长事务的命令
- Oracle内存结构:SGA PGA UGA
- Oracle存储结构
- SQL 分组取前N名