技术标签: ajax AJAX - JQUERY jquery javascript
$(function() {
/**
* 自动生成分页
*
* @data 为分页实体
* @suffix 分页标签后缀
* @pageTargetId 分页打印的目标ID
* @statisticsTargetId 统计数据的目标ID
*
*/
function printPage(data, suffix, pageTargetId, statisticsTargetId) {
var first = "<span style=\"cursor:pointer;\" id=\"first_page_" + suffix + "\">首页</span> ";
var pre = "<span style=\"cursor:pointer;\" id=\"pre_page_" + suffix + "\">上一页</span> ";
var next = "<span style=\"cursor:pointer;\" id=\"next_page_" + suffix + "\">下一页</span> ";
var last = "<span style=\"cursor:pointer;\" id=\"last_page_" + suffix + "\">尾页</span> ";
var inp_p = "<input name=\"inp_curr_page_" + suffix + "\" type=\"text\" id=\"inp_curr_page_" + suffix + "\" value=\"" + data.no + "\" class=\"page\" /> ";
var curr = "<span style=\"cursor:pointer;\" id=\"curr_page_" + suffix + "\">跳到</span> ";
var pageCont = first + pre + next + last + inp_p + curr;
document.getElementById(pageTargetId).innerHTML = pageCont;
var begin = (data.no - 1) * data.size + 1, end = data.no * data.size;
begin = begin < 1 ? 0 : begin;
end = end > data.total ? data.total : end;
var statistics = begin + " - " + end + " / " + data.total + " [" + data.size + " * " + data.count + "]";
document.getElementById(statisticsTargetId).innerHTML = statistics;
}
/**
* 创建TD的方法
*
* @row TR DOM
* @i 列索引号
* @id 列ID
* @width 列宽
* @height 列高
* @align 列水平对齐方式
* @valign 列垂直对齐方式
* @cont 列内容
* @className 列CSS样式名称
*/
function createTd(row, i, id, width, height, align, valign, cont, className) {
var td = row.insertCell(i);
td.id = id;
td.width = width;
td.height = height;
td.align = align;
td.vAlign = valign;
td.innerHTML = cont;
td.className = className;
}
/** ******** 异步请求函数 ************ */
/**
* 通用异步请求方法
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
* @successFunction 请求成功后的回调函数
* @errorFunction 请求失败后的回调函数
*/
function execute(action, data, successFunction, errorFunction) {
var xhr = $.ajax({
url : action,
type : "post",
data : data,
dataType : "json",
async : false,
success : successFunction,
error : errorFunction
});
xhr.abort();
}
/**
* 通用异步请求方法
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
* @successFunction 请求成功后的回调函数
* @errorMessage 请求失败后的错误提示
*/
function execute2(action, data, successFunction, errorMessage) {
execute(action, data, successFunction, function() {
alert(errorMessage);
});
}
/**
* 通用异步请求方法,返回值为json形式的列表
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
*/
function list(action, data) {
var array = null;
execute(action, data, function(data) {
// array = eval("(" + data.json + ")");
array = data;
}, function() {
alert("Exception:list method error");
});
return array;
}
/**
* 通用异步请求方法,返回值为json对象
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
*/
function get(action, data) {
var object = null;
execute(action, data, function(data) {
// object = eval("(" + data.json + ")");
object = data;
}, function() {
alert("Exception:get metthod error");
});
return object;
}
/**
* 通用异步请求方法,返回值为json对象
*
* @action 请求的目标地址
* @id 对象的身份标识,一般相对应数据库的主键ID
*/
function find(action, id) {
var data = {
id : id
};
return get(action, data);
}
/** ******** 验证函数 ************ */
/**
* 利用正则表达式,进行验证的方法
*
* @reg 正则表达式对象
* @val 要验证的值
*/
function checkLocal(reg, val) {
return reg.test(val);
}
/**
* 进行异步验证的方法,验证对象是否存在
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
*/
function checkAsync(action, data) {
var arr = list(action, data);
var bl = true;
if (arr == null || arr.length == 0) {
bl = false;
}
return bl;
}
/**
* 信息回显的方法
*
* @bl boolean类型,主要是验证的结果
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function echoInfo(bl, id, successMessage, errorMessage) {
var message = errorMessage;
if (bl) {
message = successMessage;
}
document.getElementById(id).innerHTML = message;
}
/**
* 信息回显的方法,该方法主要是alert/dialog方式进行输出
*
* @bl boolean类型,主要是验证的结果
* @errorMessage 验证错误时显示的信息
*/
function echoInfo2(bl, errorMessage) {
if (!bl) {
alert(errorMessage);
}
}
/**
* 利用正则表达式,进行验证的方法
*
* @reg 正则表达式对象
* @val 要验证的值
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function checkByReg(reg, val, id, successMessage, errorMessage) {
var bl = checkLocal(reg, val);
echoInfo(bl, id, successMessage, errorMessage);
return bl;
}
/**
* 利用正则表达式,进行验证的方法,该方法主要是alert/dialog方式进行输出
*
* @reg 正则表达式对象
* @val 要验证的值
* @errorMessage 验证错误时显示的信息
*/
function checkByReg2(reg, val, errorMessage) {
var bl = checkLocal(reg, val);
echoInfo2(bl, errorMessage);
return bl;
}
/**
* 进行异步验证的方法,验证对象是否存在
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function checkByAsync(action, data, id, successMessage, errorMessage) {
var bl = checkAsync(action, data);
echoInfo(bl, id, successMessage, errorMessage);
return bl;
}
/**
* 进行异步验证的方法,验证对象是否存在,该方法主要是alert/dialog方式进行输出
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
* @errorMessage 验证错误时显示的信息
*/
function checkByAsync2(action, data, errorMessage) {
var bl = checkAsync(action, data);
echoInfo2(!bl, errorMessage);
return bl;
}
/**
* 空值验证方法
*
* @val 要验证的值
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function isFull(val, id, successMessage, errorMessage) {
var bl = false;
val = val.replace(/(^\s*)|(\s*$)/g, "");
if (val != null && val != "") {
bl = true;
}
echoInfo(bl, id, successMessage, errorMessage);
return bl;
}
/**
* 空值验证方法,该方法主要是alert/dialog方式进行输出
*
* @val 要验证的值
* @errorMessage 验证错误时显示的信息
*/
function isFull2(val, errorMessage) {
var bl = false;
val = val.replace(/(^\s*)|(\s*$)/g, "");
if (val != null && val != "") {
bl = true;
}
echoInfo2(bl, errorMessage);
return bl;
}
/**
* 长度验证方法
*
* @val 要验证的值
* @len1 长度起始值,为正整数
* @len2 长度结束值, 要大于len1
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function checkLength(val, len1, len2, id, successMessage, errorMessage) {
var bl = false;
val = val.replace(/(^\s*)|(\s*$)/g, "");
if (val.length >= len1 && val.length <= len2) {
bl = true;
}
echoInfo(bl, id, successMessage, errorMessage);
return bl;
}
/**
* 长度验证方法,该方法主要是alert/dialog方式进行输出
*
* @val 要验证的值
* @len1 长度起始值,为正整数
* @len2 长度结束值, 要大于len1
* @errorMessage 验证错误时显示的信息
*/
function checkLength2(val, len1, len2, errorMessage) {
var bl = false;
val = val.replace(/(^\s*)|(\s*$)/g, "");
if (val.length >= len1 && val.length <= len2) {
bl = true;
}
echoInfo2(bl, errorMessage);
return bl;
}
/**
* 数值比较方法
*
* @val1 要进行比较的第一个值
* @val2 要进行比较的第二个值
*
* @return 0:两个值相等;1:第一个值较大;-1:第二个值
*/
function compareNumber(val1, val2) {
var val = 0;
if (val1 > val2) {
val = 1;
} else if (val1 < val2) {
val = -1;
}
return val;
}
/**
* 数值比较方法
*
* @val1 要进行比较的第一个值
* @val2 要进行比较的第二个值
*
* @return 0:两个值相等;1:第一个值较大;-1:第二个值
*/
function compareNumber2(str1, str2) {
var val1 = new Number(str1);
var val2 = new Number(str2);
return compareNumber(val1, val2);
}
/**
* 数值比较大小
*
* @str1 要进行比较的第一个值
* @str2 要进行比较的第二个值
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function comparekValue(str1, str2, id, successMessage, errorMessage) {
var val = compareNumber2(str1, str2);
var bl = val == 1 ? true : false;
echoInfo(bl, id, successMessage, errorMessage);
return bl;
}
/**
* 数值比较大小
*
* @str1 要进行比较的第一个值
* @str2 要进行比较的第二个值
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function comparekValue2(str1, str2, errorMessage) {
var val = compareNumber1(str1, str2);
var bl = val == 1 ? true : false;
echoInfo2(bl, errorMessage);
return bl;
}
/**
* 数值相等比较
*
* @str1 要进行比较的第一个值
* @str2 要进行比较的第二个值
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function equalsValue(str1, str2, id, successMessage, errorMessage) {
var val = compareNumber2(str1, str2);
var bl = val == 0 ? true : false;
echoInfo(bl, id, successMessage, errorMessage);
return bl;
}
/**
* 数值相等比较
*
* @str1 要进行比较的第一个值
* @str2 要进行比较的第二个值
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
function equalsValue2(str1, str2, errorMessage) {
var val = compareNumber2(str1, str2);
var bl = val == 0 ? true : false;
echoInfo2(bl, errorMessage);
return bl;
}
/**
* 通用的创建SELECT方法
*
* @action 请求的ACTION地址
* @params 参数,为JSON对象
* @id 创建的SELECT id
* @defaultVal 创建的SELECT 默认值
*/
// function generalSelect(action, params, id, defaultVal) {
// var array = new Array();
// var op = {
// text : publicOp.text,
// value : ""
// }
// array.push(op);
// var viewers = list(action, params);
// var size = viewers.length;
// for (var m = 0; m < size; m++) {
// var viewer = viewers[m];
// if (viewer == null) {
// continue;
// }
// var op2 = {
// text : viewer.name,
// value : viewer.id
// }
// array.push(op2);
// }
// var select = createSelect(id, array);
// select.value = defaultVal;
// return select;
// }
/**
* 通用的创建SELECT方法
*
* @action 请求的ACTION地址
* @params 参数,为JSON对象
* @id 创建的SELECT id
* @defaultVal 创建的SELECT 默认值
*/
function generalSelect(action, params, id, defaultVal) {
generalSelect2(action, params, id, defaultVal, true)
}
/**
* 通用的创建SELECT方法
*
* @action 请求的ACTION地址
* @params 参数,为JSON对象
* @id 创建的SELECT id
* @defaultVal 创建的SELECT 默认值
*/
function generalSelect1(action, params, id, defaultVal) {
generalSelect2(action, params, id, defaultVal, false)
}
/**
* 通用的创建SELECT方法
*
* @action 请求的ACTION地址
* @params 参数,为JSON对象
* @id 创建的SELECT id
* @defaultVal 创建的SELECT 默认值
* @isPrefix 是否增加请选择选项
*
*/
function generalSelect2(action, params, id, defaultVal, isPrefix) {
var array = new Array();
if (isPrefix) {
var op = {
text : publicOp.text,
value : ""
}
array.push(op);
}
var viewers = list(action, params);
var size = viewers.length;
for (var m = 0; m < size; m++) {
var viewer = viewers[m];
if (viewer == null) {
continue;
}
var op2 = {
text : viewer.name,
value : viewer.id
}
array.push(op2);
}
var select = createSelect(id, array);
select.value = defaultVal;
return select;
}
/**
* 获取多选框的值
*
* @name 多选框名称
*/
function checkboxValue(name) {
var value = "";
$("input[name='" + name + "']").each(function() {
var checked = $(this).attr("checked");
if (checked == "checked") {
value += "," + $(this).val();
}
});
return value.substring(1);
}
/**
* 获取多选框的值
*
* @name 多选框名称
*/
function checkboxValue2(name) {
var value = checkboxValue(name);
return value.split(",");
}
/**
* 获取单选框的值
*
* @name 单选框名称
*/
function radioValue(name) {
var value = $("input:radio[name='" + name + "']:checked").val();
return value;
}
/**
* 移除已选中的option
*
* @param sourceId
* 源SELECT
* @param targetId
* 目标SELECT
* @param bl
* bl=true全部
*/
function generalSelectMove(sourceId, targetId, bl) {
selectMove(sourceId, targetId, bl);
}
/* ==================================================================================== */
/* ==================================================================================== */
/* ==================================================================================== */
/** ******** 公有函数 ************ */
/**
* 通用异步请求方法
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
* @successFunction 请求成功后的回调函数
* @errorFunction 请求失败后的回调函数
*/
$.fn.publicExecute = function(action, data, successFunction, errorFunction) {
execute(action, data, successFunction, errorFunction);
};
/**
* 通用异步请求方法
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
* @successFunction 请求成功后的回调函数
* @errorMessage 请求失败后的错误提示
*/
$.fn.publicExecute2 = function(action, data, successFunction, errorMessage) {
execute2(action, data, successFunction, errorMessage);
};
/**
* 通用异步请求方法,返回值为json形式的列表
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
*/
$.fn.publicList = function(action, data) {
return list(action, data);
};
/**
* 通用异步请求方法,返回值为json对象
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
*/
$.fn.publicGet = function(action, data) {
return get(action, data);
};
/**
* 通用异步请求方法,返回值为json对象
*
* @action 请求的目标地址
* @id 对象的身份标识,一般相对应数据库的主键ID
*/
$.fn.publicFind = function(action, id) {
return find(action, id);
};
/**
* 利用正则表达式,进行验证的方法
*
* @reg 正则表达式对象
* @val 要验证的值
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
$.fn.publicCheckByReg = function(reg, val, id, successMessage, errorMessage) {
return checkByReg(reg, val, id, successMessage, errorMessage);
};
/**
* 利用正则表达式,进行验证的方法,该方法主要是alert/dialog方式进行输出
*
* @reg 正则表达式对象
* @val 要验证的值
* @errorMessage 验证错误时显示的信息
*/
$.fn.publicCheckByReg2 = function(reg, val, errorMessage) {
return checkByReg2(reg, val, errorMessage);
};
/**
* 进行异步验证的方法,验证对象是否存在
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
$.fn.publicCheckByAsync = function(action, data, id, successMessage, errorMessage) {
return checkByAsync(action, data, id, successMessage, errorMessage);
};
/**
* 进行异步验证的方法,验证对象是否存在,该方法主要是alert/dialog方式进行输出
*
* @action 请求的目标地址
* @data json对象,请求的参数。例如 var params = {id:id,name:name}
* @errorMessage 验证错误时显示的信息
*/
$.fn.publicCheckByAsync2 = function(action, data, errorMessage) {
return checkByAsync2(action, data, errorMessage);
};
/**
* 空值验证方法
*
* @val 要验证的值
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
$.fn.publicIsFull = function(val, id, successMessage, errorMessage) {
return isFull(val, id, successMessage, errorMessage);
};
/**
* 空值验证方法,该方法主要是alert/dialog方式进行输出
*
* @val 要验证的值
* @errorMessage 验证错误时显示的信息
*/
$.fn.publicIsFull2 = function(val, errorMessage) {
return isFull2(val, errorMessage);
};
/**
* 长度验证方法
*
* @val 要验证的值
* @len1 长度起始值,为正整数
* @len2 长度结束值, 要大于len1
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
$.fn.publicCheckLength = function(val, len1, len2, id, successMessage, errorMessage) {
return checkLength(val, len1, len2, id, successMessage, errorMessage);
};
/**
* 长度验证方法,该方法主要是alert/dialog方式进行输出
*
* @val 要验证的值
* @len1 长度起始值,为正整数
* @len2 长度结束值, 要大于len1
* @errorMessage 验证错误时显示的信息
*/
$.fn.publicCheckLength2 = function(val, len1, len2, errorMessage) {
return checkLength2(val, len1, len2, errorMessage);
};
/**
* 数值比较大小
*
* @str1 要进行比较的第一个值
* @str2 要进行比较的第二个值
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
$.fn.publicComparekValue = function(str1, str2, id, successMessage, errorMessage) {
return comparekValue(str1, str2, id, successMessage, errorMessage);
}
/**
* 数值比较大小
*
* @str1 要进行比较的第一个值
* @str2 要进行比较的第二个值
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
$.fn.publicComparekValue2 = function(str1, str2, errorMessage) {
return comparekValue2(str1, str2, errorMessage);
}
/**
* 数值相等比较
*
* @str1 要进行比较的第一个值
* @str2 要进行比较的第二个值
* @id 回显信息打印的目标对象/元素id
* @successMessage 验证正确时显示的信息,可以是HTML
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
$.fn.publicEqualsValue = function(str1, str2, id, successMessage, errorMessage) {
return equalsValue(str1, str2, id, successMessage, errorMessage);
}
/**
* 数值相等比较
*
* @str1 要进行比较的第一个值
* @str2 要进行比较的第二个值
* @errorMessage 验证错误时显示的信息,可以是HTML
*/
$.fn.publicEqualsValue2 = function(str1, str2, errorMessage) {
return equalsValue2(str1, str2, errorMessage);
}
/**
* 自动生成分页
*
* @data 为分页实体
* @suffix 分页标签后缀
* @pageTargetId 分页打印的目标ID
* @statisticsTargetId 统计数据的目标ID
*
*/
$.fn.publicPrintPage = function(data, suffix, pageTargetId, statisticsTargetId) {
printPage(data, suffix, pageTargetId, statisticsTargetId);
}
/**
* 创建TD的方法
*
* @row TR DOM
* @i 列索引号
* @id 列ID
* @width 列宽
* @height 列高
* @align 列水平对齐方式
* @valign 列垂直对齐方式
* @cont 列内容
* @className 列CSS样式名称
*/
$.fn.publicCreateTd = function(row, i, id, width, height, align, valign, cont, className) {
createTd(row, i, id, width, height, align, valign, cont, className);
}
/**
* 通用的创建SELECT方法
*
* @action 请求的ACTION地址
* @params 参数,为JSON对象
* @id 创建的SELECT id
* @defaultVal 创建的SELECT 默认值
*/
$.fn.publicGeneralSelect = function(action, params, id, defaultVal) {
return generalSelect(action, params, id, defaultVal);
}
/**
* 通用的创建SELECT方法
*
* @action 请求的ACTION地址
* @params 参数,为JSON对象
* @id 创建的SELECT id
* @defaultVal 创建的SELECT 默认值
*/
$.fn.publicGeneralSelect1 = function(action, params, id, defaultVal) {
return generalSelect1(action, params, id, defaultVal);
}
/**
* 移除已选中的option
*
* @param sourceId
* 源SELECT
* @param targetId
* 目标SELECT
* @param bl
* bl=true全部
*/
$.fn.publicGeneralSelectMove = function(sourceId, targetId, bl) {
generalSelectMove(sourceId, targetId, bl);
}
/**
* 获取多选框的值
*
* @name 多选框名称
*/
$.fn.publicCheckboxValue = function(name) {
return checkboxValue(name);
}
/**
* 获取多选框的值
*
* @name 多选框名称
*/
$.fn.publicCheckboxValue2 = function(name) {
return checkboxValue2(name);
}
/**
* 获取单选框的值
*
* @name 单选框名称
*/
$.fn.publicRadioValue = function(name) {
return radioValue(name);
}
});
文章浏览阅读833次,点赞26次,收藏26次。javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
文章浏览阅读1k次。idea怎么设置eclipse快捷键_idea修改快捷键为eclipse
文章浏览阅读4.7k次。◎欧洲各地经纬度简表国家 城市 经度 纬度 时区 罗马尼亚 布加勒斯特 东经26:06 北纬44:26 +2保加利亚 索非亚 东经23:19 北纬42:41 +2希腊 雅典 东经23:43 北纬37:58 +2希腊 斯巴达 东经22:25 北纬37:05 +2马其顿 斯科普里 东经21:28 北纬42:00 +2波兰 华沙 东经21:00 北纬52:15 +1南斯拉夫 贝尔格莱德 东经20:30 ..._全球城市经纬度
文章浏览阅读294次。题目链接:题目大意:询问一个区间的第k大 但是有操作会对某个位置的值进行改变 即动态第k大思路:树状数组套主席树普通主席树装未修改的数据树状数组套主席树装的是修改的数据,即修改操作在树状数组中进行#include #include #include #include #include #include #include #include #include _动态第k大 树状数组套平衡树
文章浏览阅读82次。不知道你为什么要使用PL / sql块.您没有使用您声明的ID,最好给它一个与列名称不同的名称以避免混淆.您可以在sql * Plus中声明一个绑定变量,然后选择:var l_test_quote varchar2(80); -- or whatever type/size you needvar l_test_id varchar2(80);declarel_id varchar2(80) :=..._"oracle:sp2-0552: 未声明绑定变量 \"empid\"。"
文章浏览阅读4.3k次,点赞2次,收藏9次。在这里和大家分享一下关于达梦与oracle之间进行数据迁移的注意事项:达梦数据库与oracle的兼容性是很高的,所以这两类数据库之间进行迁移 还是很方便的。首先,初始化实例的时候,将空格填充模式参数设置为零(BLANK_PAD_MODE=0),oracle兼容性参数 (COMPATIBLE_MODE=2)打开。需要注意的是,空格填充模式参数是初始化参数,只能在初始化实例的时候进行设置,这两个参..._oracle迁移达梦方便吗
文章浏览阅读1.4w次。LSF系统介绍http://scc.ustc.edu.cn/zh_CN/ 中科大超算中心http://www.sccas.cn/gb/index.html 中科院超算中心http://www.ssc.net.cn/ 上涨超算中心LSF简介LSF(Load Sharing Facility)是分布资源管理的工具,用来调度、监视、分析联网计算机的负载。目的通过集中监控和调度,充分共享计算机的CPU_lsf分组
文章浏览阅读5.1k次。/ 今日科技快讯 /近日,字节跳动回应:由美国CFIUS调查及“总统令”引发对TikTok的大量关注与报道,其中有很多猜测和不实信息。真实情况是, 我们确实在与一些公司探讨合作方..._鸿蒙的开发
文章浏览阅读9.9k次,点赞5次,收藏45次。1.如何利用句柄操作windows窗体首先,获得窗体的句柄 win32api.FindWindows()第二,获得窗体中控件的id号,spy++第三,根据控件的ID获得控件的句柄(hwnd) GetDlgItem(hwnd,loginID)最后,利用控件句柄进行操作python可以通过win32api轻松获取控件的属性值通过标签找到主窗口句柄,然后通过主句柄获取下属控件句柄#-*- codin..._python 获取窗口句柄 模拟 点击按钮
文章浏览阅读2.4k次。一、背景说明 单机执行pyspark(python on spark)非常简单,只要在脚本所在服务器上部署个python环境或Anaconda这种集成运行环境,再通过python3命令执行就完了。 而想将python提交到spark集群中运行,则有两种方法,一种是在每个spark结点上部署python环境,在spark低版本与python集成没那么完善的时候,集群结点数又不多的情况下,的确可以这么干(实际上我就这么干过),这种方式比较大的优势是每次执行pyspark任务时,不用分发python环_spark.yarn.appmasterenv.pyspark_python
文章浏览阅读1.5k次,点赞15次,收藏11次。搞过POI的都知道,在处理Excel文件时,POI提供了两种模式:用户模式和SAX事件驱动模式。用户模式API丰富使用起来相对简单,但当遇到大文件、大量数据或复杂格式时,可能会导致内存溢出。因此,官方推荐使用SAX事件驱动模式来解析大型Excel文件。开始想解决方法之前,我们要先知道 Excel2003与Excel2007 的区别。_android 读取超大excel文件
文章浏览阅读1w次。先闲谈说下最近的微信要出的小程序吧,感觉确实很牛逼,革命说不上吧但是也是一个新的大的机遇。不得不承认腾讯有两个相当好的平台,一个是QQ,一个是微信,毕竟人数基数大,任何新的东西都会带来相当多的机会和挑战。那个小程序好像是基于react native,也是一种混合架构。最近整理整理下混合架构的知识,有时间也好好学习去。 好了开始正题吧。 最近研究cordova通过原生_cordova 连拍