以資料表 Employees 為範例的話,在 MS SQL 有下列兩種方式 :
1. Select
select name from syscolumns where id=object_id('Employees')
2. 執行系統預存程序
exec sp_help Employees
以資料表 Employees 為範例的話,在 MS SQL 有下列兩種方式 :
1. Select
select name from syscolumns where id=object_id('Employees')
2. 執行系統預存程序
exec sp_help Employees
假設資料表內有許多重覆的資料欄,但只有日期欄位不同,如果不想用 Group By 一個個分組,要如何列出資料中日期最大的呢?
範例:
Table:Order
ID | Title | Price | Date |
1 | K1 | 100 | 2008/07/01 |
1 | K1 | 200 | 2006/11/23 |
2 | B1 | 300 | 2008/01/01 |
3 | C2 | 400 | 2008/02/02 |
Select * From Order a Where Date = (Select Max(b.Date) From Order b Where a.ID = b.ID)
結果 :
ID | Title | Price | Date |
1 | K1 | 100 | 2008/07/01 |
2 | B1 | 300 | 2008/01/01 |
3 | C2 | 400 | 2008/02/02 |
[狀況]
執行 Visul Studio ASP.NET 2003 時出現 "Server Error in '/' Application.Access to the Path <Path> Is Denied" 錯誤。
[錯誤訊息]
Server Error in '/' Application.
Access to the path "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\root\8c91a6b5\649b28ba" is denied. ('/' 應用程式發生伺服器錯誤。拒絕存取路徑 "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\root\8c91a6b5\649b28ba"。)
[解決方法]
可能是 IIS 安裝順序的問題,使 ASP.NET 沒有足夠的權限可以使用網站上的 Temporary ASP.NET Files 資料夾
1. 按一下 [開始],再按一下 [執行]。
2. 在 [開啟] 方塊中,鍵入 cmd,再按一下 [確定]。
3. 切換到磁碟機:\Windows\Microsoft.Net\Framework\v1.1.4322 資料夾,其中磁碟機 是安裝 Windows 的磁碟機。如果要執行這項操作,請在命令提示字元鍵入下列命令,其中磁碟機 是安裝 Windows 的磁碟機,再按下 ENTER:
cd磁碟機:\windows\microsoft.net\framework\v1.1.4322
4. 將可以使用 Temporary ASP.NET Files 資料夾的適當權限加入到 Network Service 群組。如果要執行這項操作,請鍵入下列命令,再按下 ENTER:
aspnet_regiis -i
5. 鍵入 exit,再按下 ENTER,結束命令提示字元
[狀況]
在ASP.NET 執行 Process.Start(); 呼叫Windows應用程式時產生存取被拒的錯誤。
[發生錯誤的程式碼]
System.Diagnostics.Process.Start();
[錯誤訊息]
System.ComponentModel.Win32Exception: 存取被拒。
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at AcerPricing01ST.page.OP_buyingpricecalcMtn.OP_buyingpricecalcMtn.lbProcess_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\acerpricing01st\page\op_buyingpricecalc\op_buyingpricecalcmtn.aspx.cs:line 381"
[解決方法]
這是因為系統預設不允許從 IIS 執行 Windows應用程式,你可以從 :
系統管理工具 > 服務 > 找到 IIS Admin > 內容 > 登入 > 勾選:允許服務與桌面互動 > 動新啟動 IIS Admin
[狀況]
在 VS2003 ASP.NET 執行 Excel 元件時產生存取被拒的錯誤。
[發生錯誤的程式碼]
Excel.Application excelapp=new Excel.Application();
[系統訊息]
存取被拒。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.UnauthorizedAccessException: 存取被拒。
沒有授權 ASP.NET 存取要求的資源。請考慮將資源存取權授予 ASP.NET 要求識別。ASP.NET 有一個基本處理序識別 (通常在 IIS 5 上為 {MACHINE}\ASPNET,在 IIS 6 上為 Network Service),會在應用程式未模擬的情況下使用。如果應用程式是透過 <identity impersonate="true"/> 模擬,這個識別將會是匿名使用者 (通常為 IUSR_MACHINENAME) 或經過驗證的要求使用者。
若要取得 ASP.NET 寫入檔案的存取權限,請在檔案總管中以右鍵按一下檔案,選擇 [內容] 並選取 [安全] 索引標籤。按一下 [新增] 加入適當的使用者或群組。反白顯示 ASP.NET 帳戶,並且選取所需存取權限的核取方塊。
[UnauthorizedAccessException: 存取被拒。]
zwErp1.report.test.WebForm3.Button2_Click(Object sender, EventArgs e) in e:\iis\zwerp1\report\test\webform3.aspx.cs:83
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1263
[解決方法]
直接在執行命令列打上"dcomcnfg",然後在元件服務>我的電腦>DCOM 設定 內找到 "Microsoft Excel 應用程式",按"內容",裡面的安全性頁籤,把存取權.設定權.啟動權都設自訂然後給以下的帳號權限 :
IIS5 : ASPNET
IIS6 : Network Service(或許,沒試過)
PS : 如果你有在 Web.config 設定<identity impersonate="true"/>,上面的帳號要改為 IUSR_MACHINENAME