左右间

行走在左右之间

博客园 首页 新随笔 联系 订阅 管理
  45 Posts :: 1 Stories :: 28 Comments :: 1 Trackbacks

2008年9月19日 #

1)用缩写。比如c:\Program Files缩写为c:\Progra~1
       再来刨根问底查查这个命名是否有规则,于是找到:
                 采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1,首字母不足六个字母,略去空白,用了第二个词的字母,凑成六个。例如:
                    "Documents and Settings“ -- DOCUME~1
                    "Local Settings" -- LOCALS~1 (注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)。

  如果多个文件前6字符一样怎么办?为什么最后是1而不是0或者其他数字呢?看看这个例子
                假设下面是你的C盘根目录中的文件夹:
                    Program Files
                    Progra file
                    Progra zhang
                则三个目录分别表示为:C:\Progra~1; C:\Progra~2; C:\Progra~3;

2)绕过去,创建一个镜像。例如在cmd中输入 subst w: "C:\Documents and Settings\hopeshared"。然后就可以直接用w:\替代C:\Documents and Settings\hopeshared了

posted @ 2008-09-19 14:22 左右间 阅读(79) | 评论 (1)编辑

2008年8月31日 #

项目管理的一些常识:

  1. 不能一个项目组里全是专家,因为,第一,如果你的组员全部是专家的话,你就沦为一个打杂的了。第二,不论做什么项目,总归有些任务是很枯燥的,机械的。你终究要让你的组员去完成它,而一个专家是不会甘心被指派去做这种没有技术含量又不得不作的任务的。第三,专家势必要消耗更多的薪水,会使你增加成本。所以,一个团队,核心不在于配置最优的资源,而在于最优的配置资源。
  2. 必须在一切发生之前,制定规范。如果发生之后再制定,第一,损失已无法避免,第二,很容易让当事人有抵触心理,产生个人矛盾。在实际执行过程中,发生意外是最不意外的事情,所以一定要有准备,要时刻准备将事情拉回到规范中来。
  3. 要保持距离。比如,如果有心邀请另外一个组的组员过来帮忙,直接自己去的话,一旦当场被拒绝,就很难有回旋的余地。如果对方态度恶劣一些的话,还会影响以后的合作。此时不如找其他人出面,一个失败了还可以找其他人再试,就算发生矛盾也是他们两人之间的事,你本人还是有回旋的余地的。
  4. 一定要抓绩效考核。第一,它是最直观,最简单的考核方法。第二,它可以有效地提高团队的纪律性。
posted @ 2008-08-31 21:06 左右间 阅读(16) | 评论 (0)编辑

2008年8月8日 #

以下内容以2007为准,不排除2003上有不同
每个Cell都可以设置Format,设置不同,处理的结果也会不一样。
情况1,没有设置Format。如果你输入的内容是日期,他会自动把这个Cell的Format变为日期型的,日期格式以当前的机器设置为准。这个时候,你直接以读数据库的方式去读的话,那个
你得到的是一个DateTime类型的值。

情况2,设置Format为日期类型,并指定固定的日期格式。你将得到的是一个DateTime类型的值。

情况3,设置Format为字符型,你将得到的是一个string类型的值。

举个实际的例子:

比如,你输入一个值:02\04\2008,本机的日期格式设置为英语(月-日-年)

情况1,你将得到一个DateTime:2008年02月04日

情况2。假设你Format为法语(日-月-年),你将得到一个DateTime:2008年04月02日

情况3,你将得到一个string:02\04\2008

所以,在处理的时候,要十分的小心,以避免出现日期不对的情况。为避免Excel做一些你不希望的操作,最好事先就给一个固定的Format,

posted @ 2008-08-08 13:44 左右间 阅读(97) | 评论 (0)编辑

2008年8月2日 #

很多时候,我们其实只需要EXCEL中的数据而已,并不需要关心她的每个cell是什么颜色,一个sheet分了几个组。 如果只是单纯的读数据的话,我们可以使用OLEDB将EXCEL看成是一个数据库,每个sheet是一张表,然后建立连接,接下来就是标准的数据库操作了。

连接并打开Excel 2007:

string stringSqlConnectionString = @"Provider=Microsoft.ACE.OleDb.12.0;Data Source=" + FileName +";Extended Properties='Excel 12.0;HDR=YES'";
OleDbConnection objOleDbConnection = new OleDbConnection(stringSqlConnectionString);
objOleDbConnection.Open();//打开连接
DataTable objDataTableSheets = objOleDbConnection.GetSchema("Tables");//得到数据表的Schema

连接并打开Excel 2003:
如果你使用的是2003的话,记得将连接字符串改为
string stringSqlConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath   + "; Extended Properties='Excel 8.0;'")
posted @ 2008-08-02 18:19 左右间 阅读(156) | 评论 (0)编辑

2008年8月1日 #

为保护web.config文件中的敏感信息,我们可以使用aspnet_regiis.exe来加密web.config文件。
加密命令:
aspnet_regiis -pe "connectionStrings" -app "/applicationName"
解密命令:
aspnet_regiis -pd "connectionStrings" -app "/applicationName"
加密后除了人不能读以外,不影响它的使用。ASP.NET会自动解密来读取其中的内容。
但是,有时你会遇到以下问题。
A configuration file cannot be created for the requested Configuration object.
Failed!
比如,你使用SharePoint创建了一个网站,然后你想使用这个工具加密默认情况下就会有这个问题。

解决方法:找到那个SharePoint网站的文件夹,比如是6666,右击,选择Web Share->Share this folder,点击OK,就好了。
posted @ 2008-08-01 14:27 左右间 阅读(176) | 评论 (0)编辑

2008年7月30日 #

使用SharePoint就像小时候玩藏宝游戏,不停的去找,总能找到新东西。

以前使用CAML很多次,虽然知道他很强大,但只是局限于查询。今天读了一篇文章,才知道他还可以用来批量更新。不多说,直接上XML sample.

<?xml version="1.0" encoding="UTF-8"?>
  <ows:Batch OnError="Return">
 <Method ID="{0}">
 <SetList>{1}</SetList>
 <SetVar Name="Cmd">Save</SetVar>
 <SetVar Name="ID">{2}</SetVar>
 <SetVar Name="urn:schemas-microsoft-com:office:office#Processed">{3}</SetVar>
 <SetVar Name="urn:schemas-microsoft-com:office:office#Processed_Date">{4}</SetVar>
        </Method>
  </ows:Batch>

据SDK记载,Batch标签有如下描述。
<Batch
  OnError = "Return" | "Continue"
  ListVersion = ""
  Version = ""
  ViewName = "">
  <Method>
  ...
  </Method>
  ...
</Batch>

Return :在第一次出错后不再执行后续的Methiod.
Continue :在出错后继续执行后续的Methiod.
ListVersion :List的版本号。(可选)
Version :SharePoint的版本号。(可选)

在sample中,{1}为List ID.{2}为Item ID.{3}和{4}为要更新的属性值。其中属性的名称为<schema>#<internal_field_name>.
比如,你的List名字为Processed,那么,这里的名称为urn:schemas-microsoft-com:office:office + # + Processed。

 

<Method ID="Text"  Cmd = "Text">
</Method>

Cmd

Delete — Delete the specified item.

New — Create the specified item.

Update — Modify the specified item.

 

参考文章:http://msdn.microsoft.com/en-us/library/cc404818.aspx

posted @ 2008-07-30 11:12 左右间 阅读(372) | 评论 (0)编辑

2008年7月28日 #

比较全的sdsadm的介绍,包括操作,参数,及使用方式。

http://technet.microsoft.com/en-us/library/cc261956(TechNet.10).aspx

 

posted @ 2008-07-28 11:32 左右间 阅读(77) | 评论 (0)编辑

2008年5月29日 #

通过SPList.Update()可以更新一个List,但一般你是不能直接调用此方法的,会出现“Updates are currently disallowed on GET requests. To allow updates on a GET, set the 'AllowUnsafeUpdates' property on SPWeb.”

解决方法有两个:
1。设置 AllowUnsafeUpdates = true.这是个很取巧的方法,不只这里可以使用,在由于其他一些原因导致以上错误的时候只要设置此值,错误就可避免。我看到过有些工程里只要涉及到SPWeb,必设置此值。但是它是有安全隐患的,具体解释可以参考MSDN。

2。 不要使用Get requests而使用 Post requests,配合使用RunWithElevatedPrivileges,也可以有效解决这个问题。所谓不要使用Get requests而使用 Post requests,简单的说就是你不要直接在Page_Load这种事件里去Update list,你可以放一个Button,使用它来触发事件。然后把Update 代码放在RunWithElevatedPrivileges中执行。
string url = SPContext.Current.Site.Url;
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPSite site = new SPSite(url))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList list = web.Lists[ListName];
                        list .Update();
                    }
                }
            }
            );

一般情况下都能满足需要。

posted @ 2008-05-29 15:06 左右间 阅读(326) | 评论 (1)编辑

2008年5月5日 #

首先在VS2008中新建一个silverlight工程,假定叫Test打开它。
一般默认会有四个文件,App.xaml,App.xaml.cs,Page.xaml,Page.xaml.cs.App.xaml 文件一般用来声明可在整个应用中共享的资源。App.xaml的后台Application类可用来处理应用级的事件,象Application_Startup, Application_Exit 和Application_UnhandledException。
在App.xaml中,
<Application x:Class="Test.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="XXX.xaml">
    <Application.Resources>    
    </Application.Resources>
</Application>

x:Class="Test.App"指定了对应此XAML文件的后台类,格式为ProjectName.ClassName,
StartupUri="Page.xaml"指定了启动时加载的第一个xaml文件,这里是Page.xaml.

在Page.xaml中,
<Window x:Class="Test.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainPage" Height="300" Width="300">
    <Grid>
    </Grid>
</Window>

x:Class="Test.MainPage"与上面的意思一样。

posted @ 2008-05-05 13:58 左右间 阅读(69) | 评论 (0)编辑

2008年4月29日 #

有时在使用VS.NET做一些操作时,由于当前用户权限不够,所以会出错,这时可以单独在启动VS时,右击VS图标,然后选择“Run as ......)”然后用相应的用户名和密码登陆就可以了。
posted @ 2008-04-29 15:15 左右间 阅读(33) | 评论 (0)编辑