///<summary>
/// 获取枚举属性
///</summary>
///<param name="e"></param>
///<returns></returns>
publicstaticString GetEnumDesc(Enum e)
{
FieldInfo EnumInfo = e.GetType().GetField(e.ToString());
DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[])EnumInfo.
GetCustomAttributes(typeof(DescriptionAttribute), false);
if (EnumAttributes.Length > 0)
{
return EnumAttributes[0].Description;
}
return e.ToString();
}
publicclassEnumStringHelper
{
publicstaticstring getString(object o)
{
Type t = o.GetType();
string s = o.ToString();
DescriptionAttribute[] os = (DescriptionAttribute[])t.GetField(s).GetCustomAttributes(typeof(DescriptionAttribute), false);
if (os != null&& os.Length == 1)
{
return os[0].Description.ToString();
}
return s;
}
}
///<summary>
/// 深拷贝
///</summary>
///<param name="value">原拷贝对象</param>
///<returns>新拷贝对象</returns>
T DeepCopy<T>(T value)
{
T temp = default(T);
try
{
MemoryStream ms = newMemoryStream();
BinaryFormatter bf = newBinaryFormatter();
bf.Serialize(ms, value);
ms.Seek(0, 0);
temp = (T)bf.Deserialize(ms);
ms.Close();
}
catch
{ }
return temp;
}
dbcc checkident(‘表名’,reseed,0)
更改powerDesigner的默认数据库引擎(Unable to list the table的解决办法。)
菜单 database -〉 change current dbms 。本文地址
用PowerDesigner逆向数据库工程时”Unable to list the table"错误的解决方法。
“SP_DBCMPTLEVEL”存储过程来正确设置数据库的版本兼容。知道原因后解决故障就很简单了,打开企业管理器,输入“EXEC SP_DBCMPTLEVEL ‘DataBaseName‘, ‘90‘; GO ”并执行,执行成功后,重新逆向工程就可以了。 PS: SP_DBCMPTLEVEL 存储过程一共需要两个参加,第一个参数为数据库名,在上面的例子中我的数据库名为“PMS”,第二个参数为想要设置的sql server版本号,其对应关系如下 80 = SQL Server 2000 90 = SQL Server 2005 100 = SQL Server 2008 ,在上面的例子中由于我想和sql server 2005兼容,所以设置版本号为90。
publicpartialclassTest
{
publicvoid one()
{
}
publicpartialclassTest
{
publicvoid Two()
{
}
结构是 存储在栈上 的 值类型)和 它们的一些特征(如 结构不支持继承。 较小的 数据类型使 用结
构可提高性能。 但在语法上,结 构与类非常相似,主 要的区别是使用关键字 struct代 替 dass来 声明结构。
static void someFunction(out int i)
(
i= 100;
I
public static int Main()
(
int i // note how i ig dec△ ared but not initia△ ized.
someFunCtion(out i)`
C0nsole.WriteLine(i)`
Return
}
virtual 关键字用于在基类中修饰方法。virtual的使用会有两
种情况:
情况1:在基类中定义了virtual方法,但在派生类中没有重写
该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基
类定义的方法。
情况2:在基类中定义了virtual方法,然后在派生类中使用
使用的是派生重写的方法。
二、Abstract方法(抽象方法)
abstract关键字只能用在抽象类中修饰方法,并且没有具体的
实现。抽象方法的实现必须在派生类中使用override关键字来实
现
var Layer=‘‘;
var iLayerMaxNum=1000;
var a;
document.onmouseup=me;
document.onmousemove = ms;
var b;
var c;
function Move(Object,event){
Layer=Object.id;
if(document.all){
document.getElementById(Layer).setCapture();
b=event.x-document.getElementById(Layer).style.pixelLeft;
c=event.y-document.getElementById(Layer).style.pixelTop;
}elseif(window.captureEvents){
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
b=event.layerX;
c = event.layerY + 100;
};
if(Layer!="Layer"+a){
document.getElementById(Layer).style.zIndex=iLayerMaxNum;
iLayerMaxNum=iLayerMaxNum+1;
}
}
function ms(d){
if(Layer!=‘‘){
if(document.all){
document.getElementById(Layer).style.left=event.x-b;
document.getElementById(Layer).style.top=event.y-c;
}elseif(window.captureEvents){
document.getElementById(Layer).style.left=(d.clientX-b)+"px";
document.getElementById(Layer).style.top=(d.clientY-c)+"px";
}
}
}
function me(d){
if(Layer!=‘‘){
if(document.all){
document.getElementById(Layer).releaseCapture();
Layer=‘‘;
}elseif(window.captureEvents){
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
Layer=‘‘;
}
}
}
function Close(n){
var e=‘Layer‘+n;
document.getElementById(e).style.display=‘none‘;
Hide();
}
//显?示o?高?亮¢¨¢的ì?字á?条??
function Show(n){
var e=document.getElementById(‘Layer‘+n);
if (e){
e.style.zIndex =iLayerMaxNum+1;
document.getElementById("mask").style.display = "block";
document.getElementById("mask").style.zIndex = iLayerMaxNum;
var size = getPageSize();
document.getElementById("mask").style.width = size[0];
document.getElementById("mask").style.height = size[1];
}else{
alert("对?不?起e,ê?您¨2搜?索??的ì?字á?条??不?存??在¨2!ê?");
history.back(1);
}
}
function Hide(){
document.getElementById("mask").style.display = "none";
iLayerMaxNum=iLayerMaxNum+2;
}
function getPageSize(){
var de = document.documentElement;
var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
var h = window.innerHeight || self.innerHeight || document.body.clientHeight || (de&&de.clientHeight);
arrayPageSize = new Array(w,h);
return arrayPageSize;
}
1.只能输入数字和英文的:
<input onkeyup="value=value.replace(/[\W]/g,‘‘) " onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^\d]/g,‘‘))" ID="Text1" NAME="Text1">
2.只能输入数字的:
<input onkeyup="value=value.replace(/[^\d]/g,‘‘) " onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^\d]/g,‘‘))" ID="Text2" NAME="Text2">
3.只能输入全角的:
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^\uFF00-\uFFFF]/g,‘‘))" ID="Text3" NAME="Text3">
4.只能输入汉字的:
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^\u4E00-\u9FA5]/g,‘‘))" ID="Text4" NAME="Text4">
5.邮件地址验证:
var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$"
var re = new RegExp(regu);
if (s.search(re) != -1) {
return true;
} else {
window.alert ("请输入有效合法的E-mail地址!")
return false;
}
6.身份证:
"^\\d{17}(\\d|x)$"
7.17种正则表达式
"^\\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\\d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\\d+$" //整数
"^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?\\d+)(\\.\\d+)?$" //浮点数
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^\\w+$" //由数字、26个英文字母或者下划线组成的字符串
"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址
"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url
var xmlObject=new ActiveXObject("Microsoft.XMLHTTP");
xmlObject.open("GET","isConnect.aspx",true);
xmlObject.onreadystatechange=function()
{
if(xmlObject.readyState ==4) //4表示提交4次
{
if(xmlObject.status == 200)//200表示通信成功
必须给from里的控件指定name属性,不然不能序列化。
方法:serializeObject = function(form) {
var o = {};
$.each(form.serializeArray(), function (index) {
if (o[this[‘name‘]]) {
o[this[‘name‘]] = o[this[‘name‘]] + "," + this[‘value‘];
} else {
o[this[‘name‘]] = this[‘value‘];
}
});
return o;
};
SELECT * FROM sysobjects s
WHERE TYPE=‘u‘
AND id IN(
SELECT id FROM syscolumns s
WHERE s.[name]=‘kindname‘)
如果不报错误很有可能是ashx里有获取session的方法而没有引用IRequiresSessionState接口。
<script type="text/javascript">
var miao = 5;
function init() {
if (window.webkitNotifications) {
window.webkitNotifications.requestPermission();
}
}
function notify() {
var icon = "logo.png";
var title = "窗口将在 " + miao + " 后关闭";
var body = "http://bbs.weiphone.com/";
if (window.webkitNotifications) {
if (window.webkitNotifications.checkPermission() == 0) {
var popup = window.webkitNotifications.createNotification(icon, title, body);
popup.ondisplay = function(event) {
setTimeout(function() {
event.currentTarget.cancel();
}, miao * 1000);
}
popup.show();
} else {
window.webkitNotifications.requestPermission();
return;
}
}
}
</script>
用sqlcmd 命名
如 sqlcmd –S “.” –U “SA” –P “123456” –i “c:\kpi.sql”
原文:http://www.cnblogs.com/wlhacker/p/3556164.html