2012年1月4日

以下字符不能表示文件名: <>,/,\,|,:,"",*,? windows2000中,文件名(包括扩展名)可高达 255 个字符。•文件名可以包含除 ? “ / \ < > * | : 之外的大多数字符;保留文件名的大小写;文件名不区分大小写(由 POSIX 应用程序使用时除外)。 windows系统下文件名长度为:255个英文字符(DOS下8.3格式),包括文件名和扩展名在内,或者是255/2=127个中文字符+1个英文字符 1 允许文件或者文件夹名称不得超过255个字符。 2 文件名除了开头之外任何地方都可以使用空格。 3 文件名中不能有下列符号:“?”、“、”、“╲”、“*”、““”、“”“、“<”、“>”、“|”。 4 Windows 98文件名不区分大小写,但在显示时可以保留大小写格式。 5 文件名中可以包含多个间隔符,如“我的文件.我的图片.001”。
posted @ 2012-01-04 09:37 lege-de 阅读(32) 评论(0) 编辑

2011年11月4日

什么是cookie?

cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。

有关cookie的例子:

名字 cookie
当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词。而名字则是从 cookie 中取回的。
密码 cookie
当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。
日期 cookie
当访问者首次访问你的网站时,当前的日期可存储于 cookie 中。当他们再次访问网站时,他们会收到类似这样的一条消息:"Your last visit was on Tuesday August 11, 2005!"。日期也是从 cookie 中取回的。

创建和存储 cookie

在这个例子中我们要创建一个存储访问者名字的 cookie。当访问者首次访问网站时,他们会被要求填写姓名。名字会存储于 cookie 中。当访问者再次访问网站时,他们就会收到欢迎词。

首先,我们会创建一个可在 cookie 变量中存储访问者姓名的函数:

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

上面这个函数中的参数存有 cookie 的名称、值以及过期天数。

在上面的函数中,我们首先将天数转换为有效的日期,然后,我们将 cookie 名称、值及其过期日期存入 document.cookie 对象。

之后,我们要创建另一个函数来检查是否已设置 cookie:

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1 
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    } 
  }
return ""
}

上面的函数首先会检查 document.cookie 对象中是否存有 cookie。假如 document.cookie 对象存有某些 cookie,那么会继续检查我们指定的 cookie 是否已储存。如果找到了我们要的 cookie,就返回值,否则返回空字符串。

最后,我们要创建一个函数,这个函数的作用是:如果 cookie 已设置,则显示欢迎词,否则显示提示框来要求用户输入名字。

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
  {alert('Welcome again '+username+'!')}
else 
  {
  username=prompt('Please enter your name:',"")
  if (username!=null && username!="")
    {
    setCookie('username',username,365)
    }
  }
}

这是所有的代码:

<html>
<head>
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1 
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    } 
  }
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
  {alert('Welcome again '+username+'!')}
else 
  {
  username=prompt('Please enter your name:',"")
  if (username!=null && username!="")
    {
    setCookie('username',username,365)
    }
  }
}
</script>
</head>

<body onLoad="checkCookie()">
</body>
</html>
posted @ 2011-11-04 16:31 lege-de 阅读(10) 评论(0) 编辑
 

浏览器检测

本教程中几乎所有的代码均可在任何支持 JavaScript 的浏览器中运行。不过个别的代码无法运行于特定的浏览器,特别是老式的浏览器。

所以,有些时候对访问者的浏览器类型及版本进行检测是很有帮助的,然后可在此基础上为访问者提供合适的信息。

要做到这一点,最好的办法是使你的网页变得足够聪明,这样的话它就可以不同的方式对待不同类型的浏览器。

JavaScript 包含一个名为 Navigator 的对象,它就可以完成上述的任务。

Navigator 包含了有关访问者浏览器的信息,包括浏览器类型、版本等等。

Navigator 对象

JavaScript Navigator 对象包含了有关访问者浏览器的所有信息。接下来我们学习 Navigator 对象的两个属性。

appName
保存浏览器类型
appVersion
存有浏览器的版本信息(其他信息中的一项)

实例

<html>

<body>
<script type="text/javascript">
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)

document.write("Browser name: "+ browser)
document.write("<br />")
document.write("Browser version: "+ version)
</script>
</body>

</html>

上面例子中的 browser 变量存有浏览器的名称,比如,"Netscape" 或者 "Microsoft Internet Explorer"。

上面例子中的 appVersion 属性返回的字符串所包含的信息不止是版本号而已,但是现在我们只关注版本号。我们使用一个名为 parseFloat() 的函数会抽取字符串中类似十进制数的一段字符并将之返回,这样我们就可以从字符串中抽出版本号信息了。

重要事项:在 IE 5.0 及以后版本中,版本号是不正确的!在 IE 5.0 和 IE 6.0 中,微软为 appVersion 字符串赋的值是 4.0。怎么会出现这样的错误呢?无论如何,我们需要清楚的是,JavaScript 在 IE6、IE5 和 IE4 中的获得的版本号是相同的。

实例

下面的脚本会根据访问者的浏览器类型显示不同的警告。

<html>

<head>

<script type="text/javascript">
function detectBrowser()
{
var browser=navigator.appName var b_version=navigator.appVersion var version=parseFloat(b_version) if ((browser=="Netscape"||browser=="Microsoft Internet Explorer") && (version>=4)) {alert("Your browser is good enough!")} else {alert("It's time to upgrade your browser!")}
  }
</script>

</head>

<body onload="detectBrowser()">
</body>

</html>
posted @ 2011-11-04 16:30 lege-de 阅读(22) 评论(0) 编辑
 

什么是 RegExp?

RegExp 是正则表达式的缩写。

当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。

简单的模式可以是一个单独的字符。

更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。

您可以规定字符串中的检索位置,以及要检索的字符类型,等等。

定义 RegExp

RegExp 对象用于存储检索模式。

通过 new 关键词来定义 RegExp 对象。以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e":

var patt1=new RegExp("e");

当您使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 "e"。

RegExp 对象的方法

RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

 

test()

test() 方法检索字符串中的指定值。返回值是 true 或 false。

例子:

<html>
<body>

<script type="text/javascript">
var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free"));
</script>

</body>
</html>

 

由于该字符串中存在字母 "e",以上代码的输出将是:

true

exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

例子 1:

<html>
<body>

<script type="text/javascript">
var patt1=new RegExp("e");

document.write(patt1.exec("The best things in life are free"));
</script>

</body>
</html>

 

由于该字符串中存在字母 "e",以上代码的输出将是:

e

例子 2:

您可以向 RegExp 对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 "g" 参数 ("global")。

在使用 "g" 参数时,exec() 的工作原理如下:

  • 找到第一个 "e",并存储其位置
  • 如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 "e",并存储其位置
<html>
<body>

<script type="text/javascript">
var patt1=new RegExp("e","g");

do
{
result=patt1.exec("The best things in life are free");
document.write(result);
}
while (result!=null)
</script>

</body>
</html>

 

由于这个字符串中 6 个 "e" 字母,代码的输出将是:

eeeeeenull

compile()

compile() 方法用于改变 RegExp。

compile() 既可以改变检索模式,也可以添加或删除第二个参数。

例子:

<html>
<body>

<script type="text/javascript">
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));

patt1.compile("d");

document.write(patt1.test("The best things in life are free"));
</script>

</body>
</html>

 

由于字符串中存在 "e",而没有 "d",以上代码的输出是:

truefalse
posted @ 2011-11-04 15:56 lege-de 阅读(14) 评论(0) 编辑
 

算数值

JavaScript 提供 8 种可被 Math 对象访问的算数值:

  • 常数
  • 圆周率
  • 2 的平方根
  • 1/2 的平方根
  • 2 的自然对数
  • 10 的自然对数
  • 以 2 为底的 e 的对数
  • 以 10 为底的 e 的对数

这是在 Javascript 中使用这些值的方法:(与上面的算数值一一对应)

  • Math.E
  • Math.PI
  • Math.SQRT2
  • Math.SQRT1_2
  • Math.LN2
  • Math.LN10
  • Math.LOG2E
  • Math.LOG10E

算数方法

除了可被 Math 对象访问的算数值以外,还有几个函数(方法)可以使用。

函数(方法)实例:

下面的例子使用了 Math 对象的 round 方法对一个数进行四舍五入。

document.write(Math.round(4.7))

上面的代码输出为:

5

下面的例子使用了 Math 对象的 random() 方法来返回一个介于 0 和 1 之间的随机数:

document.write(Math.random())

上面的代码输出为:

0.9370844220218102

下面的例子使用了 Math 对象的 floor() 方法和 random() 来返回一个介于 0 和 10 之间的随机数:

document.write(Math.floor(Math.random()*11)) 

上面的代码输出为:

3
posted @ 2011-11-04 15:23 lege-de 阅读(28) 评论(0) 编辑

2011年9月14日

备份数据库:

backup database MyDatabase to disk='D:\MyDatabase.bak'  --备份MyDatabase到D:\MyDatabase.bak这个文件里面去

 

还原数据库:

use master restore database MyDatabase  from disk='D:\MyDatabase.bak' with replace  --还原MyDatabase数据从D:\MyDatabase.bak文件还原

 

备份日志

backup log MyDatabase to disk = 'D:\MyDatabase_log.bak'  --备份日志

 

判断数据库是否备份成功:

try

{

数据库连接

数据库语句

数据库命令

弹出信息

}

 catch (Exception ee)
                {
                    MessageBox.Show(ee.ToString());
                }

posted @ 2011-09-14 16:55 lege-de 阅读(23) 评论(0) 编辑

2011年8月29日

这个很常用,所以写出来,作为菜鸟的我,全部通通记下来,说不定哪天回来找找怎么写的,呵呵

代码如下:

           if ( MessageBox.Show("确认要删除这条信息吗?", "提示", MessageBoxButtons.YesNo)==DialogResult.Yes )
         
            {
                MessageBox.Show("已经删除");
            }
            else
            { }

我是菜鸟,看了别笑,呵呵。

posted @ 2011-08-29 14:04 lege-de 阅读(31) 评论(0) 编辑
 
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;

namespace 人事工资管理系统
{
class DBConnection//定义类型
{
/// <summary>
/// 返回数据库连接的静态方法
/// </summary>
/// <returns>方法返回数据库连接对象</returns>
public static SqlConnection MyConnection()
{
return new SqlConnection(//创建数据库连接对象
@"Data Source=IPGUAN\SQLEXPRESS;Initial Catalog=db_PMS;Integrated Security=true;");//数据库连接字符串
}
}
}

posted @ 2011-08-29 10:49 lege-de 阅读(36) 评论(0) 编辑
 
        /// <summary>
/// //绑定下拉列表
/// </summary>
/// <param name="strTable">数据库表名</param>
/// <param name="cb">ComboBox对象</param>
/// <param name="i">指定数据列索引</param>
public void BindDropdownlist(string strTable, ComboBox cb, int i)
{
conn.Open();
//打开数据库连接
SqlCommand cmd = new SqlCommand(//创建命令对象
"select * from " + strTable, conn);
SqlDataReader sdr
= cmd.ExecuteReader();//得到数据读取器
while (sdr.Read())
{
cb.Items.Add(sdr[i].ToString());
//添加信息
}
conn.Close();
//关闭数据库连接
}

posted @ 2011-08-29 10:44 lege-de 阅读(30) 评论(0) 编辑
 
        /// <summary>
/// 使用此方法可以得到数据集
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>方法返回数据集</returns>
public DataSet GetTable(string sql)
{
SqlDataAdapter sda
= new SqlDataAdapter(sql, conn);//创建数据适配器对象
DataSet ds = new DataSet();//创建数据集
sda.Fill(ds);//填充数据集
ds.Dispose();//释放资源
return ds;//返回数据集
}

posted @ 2011-08-29 10:43 lege-de 阅读(34) 评论(0) 编辑