2008年10月1日 星期三

temp2

declare @result int

declare @val int

select @result='576' from 標案 where '576'= @val

if @result is not null

print ('Not Found')

else

print('Found')

temp1

declare @result int select @result='576' from 標案 where 標案_id='576' if @result is null insert into [Tainan_ENGOri].[dbo].[標案] ([標案_Id],[編號],[執行機關代碼]) vaLues('576','A960116','37651B100g')

sql.InsertCommand += "if not exists (select * from dbo.sysobjects where id = object_id(N'[Tainan_ENGOri].[dbo].[監造費用]') and objectproperty(ID,N'isusertable')=1) begin create table[Tainan_ENGOri].[dbo].[監造費用]("

For j = 0 To 3

If j = 2 Then

j = j

Else

If Right(dataSet.Tables(i).Columns(j).ColumnName, 5) = "_Text" Then

If j = 0 Then

sql.InsertCommand += " [" & Left(dataSet.Tables(i).Columns(j).ColumnName, dataSet.Tables(i).Columns(j).ColumnName.Length - 5) & "] varchar(20) "

Else

sql.InsertCommand += " ,[" & Left(dataSet.Tables(i).Columns(j).ColumnName, dataSet.Tables(i).Columns(j).ColumnName.Length - 5) & "] varchar(20) "

End If

ElseIf dataSet.Tables(i).Columns(j).ColumnName = "實際執行摘要" Then

If j = 0 Then

sql.InsertCommand += " [" & dataSet.Tables(i).Columns(j).ColumnName & "] nvarchar(1000) "

Else

sql.InsertCommand += " , [" & dataSet.Tables(i).Columns(j).ColumnName & "] nvarchar(1000) "

End If

ElseIf Right(dataSet.Tables(i).Columns(j).ColumnName, 3) = "_Id" Then

If j = 0 Then

sql.InsertCommand += " [" & dataSet.Tables(i).Columns(j).ColumnName & "] varchar(5) "

Else

sql.InsertCommand += " , [" & dataSet.Tables(i).Columns(j).ColumnName & "] varchar(5) "

End If

Else

If j = 0 Then

sql.InsertCommand += " [" & dataSet.Tables(i).Columns(j).ColumnName & "] nvarchar(500) "

Else

sql.InsertCommand += " , [" & dataSet.Tables(i).Columns(j).ColumnName & "] nvarchar(500) "

End If

End If

End If

Next

sql.InsertCommand += ") END ;"

sql.InsertCommand += "" & vbCrLf

2008年7月16日 星期三

SQL修改資料庫使用權限

ALTER AUTHORIZATION ON DATABASE::database_name TO valid_login

2008年5月20日 星期二

香港公司旅遊

要文章文章就來
終於要出去這個海島的外面看看了
從以前我就一直覺得好像出國這件事情對我來說
並不是非常的必要
這次出國的目的地只是近在咫尺的小島香港
搭了公司的員工旅遊的順風車
只花了小小的三千多看看外面的世界長啥樣
這次的旅遊是香港"自由行!"
所以所有的路線跟遊玩地點都得自己決定
不過到了現在出國的前一天也就是現在
還是不知道我到底要去香港的哪裡呢. .a
也不想去迪士尼 他的廣告"買東西,吃東西 買東西,吃東西 買東西,吃東西 ....x N"
這對我來說真是沒吸引力XD
算啦既來之則安之
看看我這次去香港可以帶些什麼回來囉
不管是回憶還是畫面還是物品
下禮拜再分享

2008年4月22日 星期二

點名...點個頭阿

反正大學同學太無聊
那就當作浪費網路資源吧
大家來傳=w=
點名 = =

遊戲規則:
A. 被點到名字的要在自己的blog裏寫下自己的答案,然後去掉一個你最不喜歡的問題
再加上一個你的問題,仍然組成20個問題,傳給其他8個人,列出其他8個需要回答問題的人的名字
還要到這8個人的blog裏留言通知對方——你被點名了,被點名者不得拒絕回答問題,完成遊戲的人
將會永遠得到大家的祝福。
B.這8個人要在自己的blog裏註明是從哪裡接到的,並且再傳給其他8個人,讓遊戲繼續下去,
不得回傳。被點到名字的人將會得到大家的祝福,並且所有美好的願望都會在不久的將來實現。

************************************************************************
源自: 惡魔西皮!

1.你認為分手後的男女朋友還能做普通朋友嗎?
50%對我來說是可能的
可是對方我就不知道了

2.最近最鬱悶的事?
工作好煩

3.遇到喜歡的人,你是勇敢表白還是默默關注?
默默關注(同蟑螂)
所以現在還在單身

4.例舉三樣正在學習, or 想要學習的東西
賺錢 + 為人處世ing + 克制

5.說出點你名的人的3個優點(不可刪除題)
老實 長得高

6.現在最想去的國家?←被我新增的題目
美國

7.愛人和被人愛,哪一種更幸福?
被愛

8.你現在最想擁有的是什麼?
啥都不用想

9.你的夢想是什麼?
世界到處跑

10.過去十年你最開心的時刻?  
第一次爬上大山

11.你最嚮往的生活?
正常上下班 放假出去玩

12.和戀人/老公/老婆吵架後,通常多久/幾天和好?
不知道沒試過

13.最愛的經典電影...
click

14.如何才可以停止總是開始又結束的感情故事??
當下個感情開始時就停止了

15.當你無聊的時候,你會先想到誰呢?
高中同學,大學同學

16.你覺得什麼才叫做真正的好朋友?<=刪除
16.你覺得怎樣才是最好的人生
當你懈怠時有挑戰,當你衝刺後有平靜,當你休息後有刺激,當你忙碌後有慶祝

17.不論單身或已婚,人生裡面最想實現的「自我」是甚麼?
被需要

18.當你覺得徬徨無助的時候都怎麼辦呢?
問所有人

19.你對另一半(老公,老婆,男女朋友)最不能忍受的事情是...?  
不知還沒有碰過

20.開始寫部落格的原因  
當記事本XD

以下名單 是被我點到的名單,
姵如 小魚 昱仁

2008年4月1日 星期二

一次刪除XX資料夾下所有檔案

原發問問題:



asp.net 刪不了目錄

Dim file() As FileInfo = My.Computer.FileSystem.GetDirectoryInfo("Server.MapPath("." & "/temp/"").GetFiles()

For i As Integer = 0 To file.Length - 1
My.Computer.FileSystem.DeleteFile(file(i).FullName)
Next



解答:



親愛的讀者您好,很感謝您對於章立民研究室的支持,有關於您提到的問題,回覆如下:

由您的程式碼來推斷,您可能是想要刪除 ASP.NET 應用程式目錄下之 temp 子目錄內含的所有檔案(不包含 temp 子目錄本身)。此時,可以使用 My.Computer.FileSystem.GetFiles 方法,來取得該目錄中檔案的字串集合。接著藉由 For … Each 迴圈並搭配使用 My.Computer.FileSystem.DeleteFile 方法,即可刪除該目錄中的每一個檔案。如下所示即是一例:

Dim strPath As String = Server.MapPath("./temp/")
Dim strFiles As _
System.Collections.ObjectModel.ReadOnlyCollection(Of String)
Try
' 刪除檔案。
strFiles = My.Computer.FileSystem.GetFiles(strPath)
For Each foundFile As String In strFiles
My.Computer.FileSystem.DeleteFile(foundFile)
Next
Catch ex As Exception
' 撰寫您所要的錯誤處理程式。
End Try

但由您發問的問題主題來看,似乎是希望刪除位於應用程式中的 temp 這個目錄。這時候只需叫用 My.Computer.FileSystem.DeleteDirectory 方法,便可一次刪除特定的目錄,如下所示即是一列:

Dim strPath As String = Server.MapPath("./temp/")
Try
' 刪除該目錄。
My.Computer.FileSystem.DeleteDirectory(strPath, _
FileIO.DeleteDirectoryOption.DeleteAllContents)
Catch ex As Exception
' 撰寫您所要的錯誤處理程式。
End Try

請特別注意,叫用 My.Computer.FileSystem.DeleteDirectory 方法時,至少需要傳入兩個參數。以本例而言,第一個參數是所欲刪除的目錄,第二個參數是指定如果要刪除的目錄包含檔案或子目錄時,應該連同此目錄的內含的檔案或子目錄一併刪除。

假如,您希望透過 For ... To ... Next 迴圈來刪除 ASP.NET 應用程式目錄下之 temp 子目錄內的所有檔案。使用 System.IO.File.Delete 方法似乎是比較好的作法。值得注意的是,ASP.NET 不允許我們直接刪除一個非空的目錄,亦即該目錄中,不能再內含其他檔案或子目錄。如果所欲刪除之目錄尚存在其他檔案或子目錄時,將會觸發“System.IO.IOException: 目錄不是空的”錯誤訊息。因此在刪除某個目錄之前,必須先檢查該目錄是否存有其他檔案或子目錄,如果存在其他檔案或子目錄時,必須要先將他們刪除,最後再刪除我們所先前指定的目錄。

為了方便刪除目錄作業的進行,我們撰寫了一個DeleteADirectory函式,用來刪除某個目錄,以便於其中再次呼叫該函式(亦即透過遞回呼叫的技巧),來刪除該目錄中的其他子目錄:

Private Function DeleteADirectory( _
ByVal strPath As String) As Boolean
Dim strTemp() As String
Dim intCtrl As Integer
Try
' 刪除檔案。
strTemp = _
System.IO.Directory.GetFiles(strPath)
For intCtrl = 0 To UBound(strTemp)
System.IO.File.Delete(strTemp(intCtrl))
Next
' 刪除子目錄。
strTemp = _
System.IO.Directory.GetDirectories(strPath)
For intCtrl = 0 To UBound(strTemp)
DeleteADirectory(strTemp(intCtrl))
Next
' 刪除該目錄。
System.IO.Directory.Delete(strPath)
Return True
Catch ex As Exception
Return False
End Try
End Function

如圖表1所示,是我們在「方案總管」中所看到的專案目錄架構。接著,我們使用上述三種方式分別刪除 ASP.NET 應用程式目錄下之 temp1 目錄內的所有檔案、刪除 temp2 目錄與其內含的檔案或子目錄、刪除 temp3 目錄與其內含的檔案或子目錄(其執行畫面與結果如圖表2所示)。

最後,提醒大家,欲讓 ASP.NET 成功刪除某個目錄(與其內含的檔案、子目錄),請確認已經使用檔案總管給予該目錄 ASPNET 這個本機之機器帳號(Machine Account)適當的權限。如圖表3、圖表4、圖表5所示,考慮系統安全,避免權限擴張,我們在正式上線運作的環境,不會給予 ASPNET 本機機器帳號「完全控制」的權限,但請至少賦予 ASPNET 對該特定目錄「修改」的權限,以便順利刪除特定目錄(與其內含的檔案、子目錄)。


圖表1


圖表2


圖表3


圖表4


圖表5


章立民研究室 2007/5/1

2008年3月6日 星期四

常見日期用法(轉)

常見日期方法薈萃 一.如何獲得當月有多少天
  
  int m=System.DateTime.DaysInMonth(System.DateTime.Now.Year,System.DateTime.Now.Month);
  二.日期型格式處理通用方法 1.在webconfig中配置如下
  2.在global.asax中
  
  protected void Application_BeginRequest(Object sender, EventArgs e)
  {
  Thread currentThread = Thread.CurrentThread;
  CultureInfo cul = currentThread.CurrentCulture.Clone() as CultureInfo;
  cul.DateTimeFormat.ShortDatePattern= BLLFacade.Common.GetShortDatePattern();
  cul.DateTimeFormat.LongDatePattern= BLLFacade.Common.GetLongDatePattern();
  cul.DateTimeFormat.ShortTimePattern= BLLFacade.Common.GetShortTimePattern();
  cul.DateTimeFormat.LongTimePattern= BLLFacade.Common.GetLongTimePattern();
  currentThread.CurrentCulture = cul;
  }
  3.在業務邏輯層中
  public static string GetShortDatePattern()
  {
  return System.Configuration.ConfigurationSettings.AppSettings["ShortDatePattern"];
  }
  public static string GetLongDatePattern()
  {
  return System.Configuration.ConfigurationSettings.AppSettings["LongDatePattern"];
  }
  public static string GetShortTimePattern()
  {
  return System.Configuration.ConfigurationSettings.AppSettings["ShortTimePattern"];
  }
  public static string GetLongTimePattern()
  {
  return System.Configuration.ConfigurationSettings.AppSettings["LongTimePattern"];
  }
  4.然後在其他地方正常調用就可以了,如果需要修改格式只需要修改webconfig中的,且可以保證整個系統中的所有格式都是一致的 三.在asp.net中怎麼樣計算兩個日期相差的年、月份、日期、小時、分鐘 、妙等在asp.net中怎麼樣計算兩個日期相差的年、月份、日期、小時、分鐘 、妙等#region 在asp.net中怎麼樣計算兩個日期相差的年、月份、日期、小時、分鐘 、妙等
  // 調用
  // DateTime a=Convert.ToDateTime("2005-09-03 20:15");
  // DateTime b=Convert.ToDateTime("2005-09-04 09:09 ");
  // double d=Bll.Common.DateDiff(Bll.Common.EnumDateCompare.day,a,b);
  // Response.Write(d.ToString("f0"));//四捨五入
   public enum EnumDateCompare
   {
   year =1,
   month =2,
   day =3,
   hour =4,
   minute =5,
   second =6
   }
  public static double DateDiff(EnumDateCompare howtocompare,
  System.DateTime startDate, System.DateTime endDate)
  {
  double diff=0;
  System.TimeSpan TS = new System.TimeSpan(endDate.Ticks-startDate.Ticks);
  switch (howtocompare)
  {
     case EnumDateCompare.year:
   diff = Convert.ToDouble(TS.TotalDays/365);
   break;
   case EnumDateCompare.month:
   diff = Convert.ToDouble((TS.TotalDays/365)*12);
   break;
   case EnumDateCompare.day:
   diff = Convert.ToDouble(TS.TotalDays);
   break;
   case EnumDateCompare.hour:
   diff = Convert.ToDouble(TS.TotalHours);
   break;
   case EnumDateCompare.minute:
   diff = Convert.ToDouble(TS.TotalMinutes);
   break;
   case EnumDateCompare.second:
   diff = Convert.ToDouble(TS.TotalSeconds);
   break;
   }
   return diff;
   }
   #endregion四.獲取某月的實際工作日(即不包括週六日)
  //調用
  //int days =getDays(System.DateTime.Now));
  private int getDays(System.DateTime date1)
  {
   int m=System.DateTime.DaysInMonth(date1.Year,date1.Month);
   int mm=0;
   for(int i=1;i<=m;i++)
   {
   System.DateTime date=Convert.ToDateTime(date1.Year+"-"+date1.Month+"-"+i);
   switch (date.DayOfWeek)
   {
   case System.DayOfWeek.Monday:
   case System.DayOfWeek.Thursday:
   case System.DayOfWeek.Tuesday:
   case System.DayOfWeek.Wednesday:
   case System.DayOfWeek.Friday:
   mm=mm+1;
   break;
   }
   }
   return mm;
  }
  五.獲得任意兩日期之間的有效工作日(不包括週六日) 獲得任意兩日期之間的有效工作日(不包括週六日)#region 獲得任意兩日期之間的有效工作日(不包括週六日)
  //調用
   //DateTime date1=Convert.ToDateTime("2005-10-20");
   //DateTime date2=Convert.ToDateTime("2005-11-01");
   //int days =getDays(date1,date2);
   private int getDays(System.DateTime date1,System.DateTime date2)
   {
   string m=DateDiff(EnumDateCompare.day,date1,date2).ToString("f0");

   int mm=0;
   for(int i=0;i<=Convert.ToInt32(m);i++)
   {
   System.DateTime date=Convert.ToDateTime(date1.AddDays(i));
   switch (date.DayOfWeek)
   {
   case System.DayOfWeek.Monday:
   case System.DayOfWeek.Thursday:
   case System.DayOfWeek.Tuesday:
   case System.DayOfWeek.Wednesday:
   case System.DayOfWeek.Friday:
   mm=mm+1;
   break;
   }
   }
   return mm;
   }
   #endregion
六.格式輸出
  格式輸出#region 格式輸出
   private void Page_Load(object sender, System.EventArgs e)
    {
    System.Globalization.DateTimeFormatInfo myDTFI = new System.Globalization.CultureInfo( "en-US", false ).DateTimeFormat;//中國用zh-cn
   DateTime myDT =System.DateTime.Now;
   Response.Write(myDT.ToString("f",myDTFI));
   /**//**//**//*
  This code produces the following output.
  FORMAT en-US EXAMPLE
  CHAR VALUE OF ASSOCIATED PROPERTY, IF ANY
   d 1/3/2002
   M/d/yyyy (ShortDatePattern)
   D Thursday, January 03, 2002
   dddd, MMMM dd, yyyy (LongDatePattern)
   f Thursday, January 03, 2002 12:00 AM
   F Thursday, January 03, 2002 12:00:00 AM
   dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)
   g 1/3/2002 12:00 AM
   G 1/3/2002 12:00:00 AM
   m January 03
   MMMM dd (MonthDayPattern)
   M January 03
   MMMM dd (MonthDayPattern)
   r Thu, 03 Jan 2002 00:00:00 GMT
   ddd, dd MMM yyyy HH’:’mm’:’ss ’GMT’ (RFC1123Pattern)
  R Thu, 03 Jan 2002 00:00:00 GMT
  ddd, dd MMM yyyy HH’:’mm’:’ss ’GMT’ (RFC1123Pattern)
  s 2002-01-03T00:00:00
  yyyy’-’MM’-’dd’T’HH’:’mm’:’ss (SortableDateTimePattern)
  t 12:00 AM
  h:mm tt (ShortTimePattern)
   T 12:00:00 AM
  h:mm:ss tt (LongTimePattern)
  u 2002-01-03 00:00:00Z
  yyyy’-’MM’-’dd HH’:’mm’:’ss’Z’ (UniversalSortableDateTimePattern)
   U Thursday, January 03, 2002 8:00:00 AM
  y January, 2002
  MMMM, yyyy (YearMonthPattern)
   Y January, 2002
  MMMM, yyyy (YearMonthPattern)
   */

   }
   #endregion
  七.獲得本周的週六和周日
  ConvertDateToWeek#region ConvertDateToWeek
   public static void ConvertDateToWeek(DateTime date,out DateTime firstdate,out DateTime lastdate)
   {
   DateTime first=System.DateTime.Now;
   DateTime last=System.DateTime.Now;
   switch (date.DayOfWeek)
   {
  case System.DayOfWeek.Monday:
  first=date.AddDays(-1);
  last=date.AddDays(5);
  break;
  case System.DayOfWeek.Tuesday:
  first=date.AddDays(-2);
  last=date.AddDays(4);
  break;
  case System.DayOfWeek.Wednesday:
   first=date.AddDays(-3);
  last=date.AddDays(3);
  break;
  case System.DayOfWeek.Thursday:
  first=date.AddDays(-4);
   last=date.AddDays(2);
   break;
  case System.DayOfWeek.Friday:
   first=date.AddDays(-5);
  last=date.AddDays(1);
  break;
  case System.DayOfWeek.Saturday:
  first=date.AddDays(-6);
  last=date;
   break;
   case System.DayOfWeek.Sunday:
  first=date;
  last=date.AddDays(6);
  break;
  }
  firstdate=first;
   lastdate=last;
   }
   #endregion
  //調用
  DateTime firstdate=System.DateTime.Now;
  DateTime lastdate=System.DateTime.Now;
  ConvertDateToWeek(date,out firstdate,out lastdate);八獲得當前日期是該年度的第幾周
  DateTime dt = Convert.ToDateTime("2006-05-01");
  int weeks = dt.DayOfYear / 7 + 1;