开发问题总结(2)
发布日期:2021-05-06 17:28:44 浏览次数:24 分类:精选文章

本文共 9840 字,大约阅读时间需要 32 分钟。

本资料有的是网上找的,有的是自己工作中遇到写的demo,可能有些许地方不正确,

1.数据库

1.1.1 替换函数REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法:
REPLACE ( ‘‘string_replace1’’ , ‘‘string_replace2’’ , ‘‘string_replace3’’ )
示例:

查询操作:

select REPLACE(sname,'Jack','admin,2,') from StudentInfo;

更新操作:

update studentinfo set sname = REPLACE(sname,'jack','admin') where sname like 'jack';

1.1.2字符串比较函数CHARINDEX

返回字符串中指定表达式的起始位置。
语法:CHARINDEX (<’substring_expression’>, )
其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
此函数不能用于TEXT 和IMAGE 数据类型。
示例:

select CHARINDEX(sname,sgender) from StudentInfoselect * from StudentInfo where CHARINDEX(sname,'jacg')>0;

1.1.3 截取字符串函数SUBSTRING

SUBSTRING (, <starting_ position>, length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。
开始start位置的设置,确实如果设置为1,会从第一个字符开始计数,1,2,3,4…以此类推、
select substring(ziduan,1,6)
将会选择字段的前6个字符,比如说是200908
如果设置为0,从0开始计数,1,2,3,4…
同样的执行select substring(ziduan,0,6),结果会是20090
示例:

select substring(sname,1,4) from StudentInfo where sid = 3;select * from StudentInfo where substring(sname,0,2) = 'J';

1.1.4 日期格式化函数CONVERT()

CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:
Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM
select convert(varchar(50),getDate(),120)
ps:可以修改varchar的长度,同样可以达到yyyy-mm-dd的效果

select convert(varchar(50),getDate(),120) 2015-04-12 11:56:38select convert(varchar(10),getDate(),120) 2015-04-12

1.1.4 不区分大小写查询UPPER

select userName from userListInfo where upper(userName) like '%ZHANGSAN%'select userName from userListInfo where upper(userName) like upper( '%zhangsan%')

1.2 常用sql语句

1.2.1 拷贝表,拷贝表结构select into
拷贝表:已知A表,拷贝到B表(B表不存在)
语句形式为:select * into B from A;

select value1, value2 into Table2 from Table1

拷贝表结构:已知A表,拷贝到B表,不包含数据

语句形式为:select * into B from A where 1=2;
1.2.2 将查询到的数据复制给另一个表INSERT INTO SELECT
语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1

注意:(1)要求目标表Table2必须存在,并且字段field,field2…也必须存在

(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…中必须包括主键
(3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:
Insert into Table2(field1,field2,…) values (select value1,value2,… from Table1)

由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:

insert into StudentInfo1(sname,sgender,saddress) select sname,sgender,2 from StudentInfo

1.2.3创建视图

语法:
Create view 视图名称 AS
sql查询语句
示例:

create view OA_AL_USER ASselect b.CnName,b.Userid,b.FolderName,b.InternetAddress,b.PhoneNumber,b.JobTitle from OA_AL_Group_Mapping m,OA_AL_Group o,BPM_OrgUserWithAllDept b where m.Folderid = o.Folderid and m.frequent_contacts = b.Userid;

1.2.4以md5加密的形式,查询空密码

SELECT TOP 100 *  FROM [userListInfo] where password = 'd41d8cd98f00b204e9800998ecf8427e'

2.easyui

2.1.1获取combobox的value

var Id = $('#Id').combobox("getValue");

2.1.2获取combobox的文本值Text

var Id = $('#Id').combobox("getText");

2.1.3对combobox进行赋值

$(’#Id’).combobox(“setValue”, Id);
2.1.4combobox加载成功之后,显示第一项为默认项

$('#Folderid').combobox({		onLoadSuccess: function (data) { //加载完成后,设置选中第一项    		if(data!=null&&data!=""){    		   $('#Folderid').combobox("setValue",data[0].FolderName);     		}        }});

2.1.5combobox以远程数据源,加载下拉选项

var url = "rule?wf_num=getDept &dept="+deptID;//$("#durl").text(url);$('#addDept”).combobox({      url:url,      valueField:deptId,      textField:deptName});

2.1.6combobox以本地数据源,加载下拉选项

var data = [];data.push({ "text": "请选择", "value": "" });data.push({ "text": "全部提成", "value": 1 });data.push({ "text": "剩余提成", "value": 0.5 });$("# combobox ").combobox("loadData", data);

2.1.7 datagrid 获取选中的行

var rows = $('#dg').datagrid('getSelections');  var row = $('#dg').datagrid('getSelected');

2.1.8 combotree 将值清空

$(’#Id’).combotree(‘clear’);

2.1.10datebox获取值

var EndDate = $('#EndDate').datebox('getValue');

2.3 jQuery发送ajax请求

var res = "";jQuery.ajax({        type:"post",		//设置同步方式,true异步,false同步,默认异步        async:false,        url:"r?wf_num=getData",        dataType:"json",        data:{"kw":kw},        success:function(data){            res=data.msg;        }});

2.5.2弹出新窗口openUrl

未付function OpenUrl(DocURL,lnum,rnum){ var swidth=screen.availWidth; var sheight=screen.availHeight; if(!lnum) lnum=24; if(!rnum) rnum=80; var wwidth=swidth-lnum; var wheight=sheight-rnum; var wleft=(swidth/2-0)-wwidth/2-5; var wtop=(sheight/2-0)-wheight/2-25; return window.open(DocURL,'','Width='+wwidth+'px,Height='+wheight+'px,Left='+wleft+',Top='+wtop+',location=no,menubar=no,status=yes,resizable=yes,scrollbars=auto,resezie=no');}

2.5.3关闭新窗口openUrl

//关闭窗口

window.close();//刷新父窗口window.opener.location.reload();//刷新父窗口的父级的树window.opener.parent.$('#tree').tree('reload');

2.6父页面子页面问题

2.6.1弹出窗体子页面(即IFrame中页面)获取原始页面元素对象

window.parent.opener.$("#comCode").val(comCode); //赋值var dg=window.parent.opener.$("#dg"); //获取原始页面datagrid

2.6.2含有两个子页面(即两个IFrame页面),其中页面之一获取另外一个页面元素对象

window.parent.document.getElementById(“subFrame”).src=subUrl;

2.6.3父页面获取子页面元素对象

var dg = document.getElementById(‘centerFrame’).contentWindow.$(’#dg’);

2.6.4子页面获取父页面元素对象

var combox = window.parent.$("#comCode");

2.6.5刷新树菜单

window.parent.$(’#tree’).tree(‘reload’);

2.6.6在父页面执行跳转连接

window.parent.location.href = url;

2.7 js四舍五入

$('#id').val(id.toFixed(2));$('#id).val(Math.round(id*10)/10);

2.8判定复选框是否选中事件

$('#checkedbox').prop("checked")==true$('# checkedbox').is(':checked')ps:   复选框

2.9关闭指定的tab(面板)

var tab = window.parent.$('#tabs').tabs('getSelected');var index = window.parent.$('#tabs').tabs('getTabIndex',tab);window.parent.$('#tabs').tabs('close',index);

2.10只读属性

readonly="readonly" 可以保存数据 通过Tab可获得焦点disabled="disabled"  不能保存数据 不能获得焦点

2.11Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法

可以使用$.parser.parse();这个方法进行处理;
例如:

$.parser.parse();

表示对整个页面重新渲染,渲染完就可以看到easyui原来的样式了;

var targetObj = $("").appendTo("#id");

$.parser.parse(targetObj);
表示重新渲染某个特定的组件。
2.12自定义搜索 重写搜索js方法,url以规则传json,datagrid加载数据源

var url = 'r?wf_num=getData&fk_folder='+v.FolderId;   $('#dg').datagrid({	 url:url   });    $('#dg').datagrid('reload');

2.13下拉框

添加option

$('#select').append("");

设置某个值为默认选中

$("#Id option[value='"+val+"']").attr("selected","selected");

2.14 js添加样式

//未定义任何css

//单个$('#id').css("fontWeight","bold");//多个$('#id').css({"fontWeight":"bold","fontSize":"100px","color":"red"});//已定义好css.fmt{        font-weight:bold;  }$('#id').addClass("fmt");

2.15 js格式化金额

function formatCurrency(num) {	var returnStr = "";    num = num.toString().replace(/\$|\,/g,'');    if(isNaN(num))    num = "0";    sign = (num == (num = Math.abs(num)));    num = Math.floor(num*100+0.50000000001);    cents = num%100;    num = Math.floor(num/100).toString();    if(cents<10)    cents = "0" + cents;    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)    num = num.substring(0,num.length-(4*i+3))+','+    num.substring(num.length-(4*i+3));	returnStr = ""+(((sign)?'':'-') + num + '.' + cents)+"";    return returnStr;}

2.16禁用删除键后退

2.17回车执行js

$(function(){    $('input').keyup(function (event) {        var e = event|| window.event;        if (e.keyCode == "13") {            doSearch();        }    });});

2.18去除空格

str为要去除空格的字符串:

去除所有空格:   str = str.replace(/\s+/g,"");       去除两头空格:   str = str.replace(/^\s+|\s+$/g,"");去除左空格:str = str.replace( /^\s*/, '');去除右空格:str = str.replace(/(\s*$)/g, "");

2.19获取cookie

function getCookie(name) {     var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");    if(arr=document.cookie.match(reg)){        return unescape(arr[2]);     }else {        return null; 	}}

2.20 jQuery数字运算

2.21判断一个函数是否有效

if(typeof setTmpRemark != 'undefined' && setTmpRemark instanceof Function){        setTmpRemark()    }

2.22获取随机32位id

function getUuid(){  var len=32;//32长度  var radix=16;//16进制  var chars='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');  var uuid=[],i;radix=radix||chars.length;  if(len){  	for(i=0;i
9 ? d : '0' + d; m = m > 9 ? m : '0' + m; mi = mi > 9 ? mi : '0' + mi; t = t > 9 ? t : '0' + t; return y + '-' + m + '-' + d + ' ' + h + ':' + mi+ ':' + t;

3.1.1java获取当前月份

Calendar cal=Calendar.getInstance();//使用日历类int year=cal.get(Calendar.YEAR);//得到年int month=cal.get(Calendar.MONTH)+1;//得到月,因为从0开始的,所以要加1int day=cal.get(Calendar.DAY_OF_MONTH);//得到天int hour=cal.get(Calendar.HOUR);//得到小时int minute=cal.get(Calendar.MINUTE);//得到分钟int second=cal.get(Calendar.SECOND);//得到秒System.out.println("结果:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);

3.1.2 java字符串替换

String str = "'SL,,";System.out.println("替换前:" + str);//将两个逗号替换成一个逗号str = str.replaceAll(",,", "+");//str = str.replace(",,", ",");System.out.println("替换后:" + str);ps: replace与replaceAll的区别String x = "[kllkklk\\kk\\kllkk]";下面将字符串中的“\\”替换为“++”  System.out.println(x.replace("\\", "++"));    没有问题  System.out.println(x.replaceAll("\\", "++"));  报错 java.util.regex.PatternSyntaxException

可见,当使用转义字符进行替换的时候,是有区别的。replaceAll的参数就是regex,是正则表达式。首先会转义,所以报错。当字符串无法确定是否具有转义字符时,而且也不需要转义时,建议使用replace函数,否则,使用replaceAll函数

3.1.3获取格式化的yyyy-MM-dd

import java.text.SimpleDateFormat;import java.text.DateFormat;public static String getFullyear(){	DateFormat insDateFormat = new SimpleDateFormat("yyyy-MM-dd");        return insDateFormat.format(new Date());}

3.1.4获取随机id

String uuid= java.util.UUID.randomUUID().toString().trim().replaceAll("-", "");

3.1.5使用cookie记住用户名

import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletResponse;Cookie cookie = new Cookie("user","admin");cookie.setMaxAge(24*60*60);cookie.setPath("/");
上一篇:python学习13:分解质因数
下一篇:HttpClient先post登陆,在get数据

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月25日 16时47分19秒