跳到主要內容

發表文章

目前顯示的是 四月, 2017的文章

ASP MVC 實作檔案下載功能

若要實作ASP MVC下載檔案的功能
需要先達成以下兩件事:  1.指定Content-Type (告訴用戶端瀏覽器欲回應的內容)
stringfile =@"C:\Users\Administrator\Downloads\SQLEXPRADV_x64_ENU.exe"; stringcontentType =MimeMapping.GetMimeMapping(file);
 2. 指定Content-Disposition(告訴用戶端瀏覽器如何處理附加文件)

var cd = new System.Net.Mime.ContentDisposition             {                 FileName = "SQLEXPRADV_x64_ENU.exe",                 Inline = false,              }; Response.AppendHeader("Content-Disposition", cd.ToString()); 其中 Inline 設為 false 表示不要在瀏覽器上打開 

最後, 回傳 FileStreamResult
returnFile(
                        newFileStream(file,FileMode.Open,FileAccess.Read)                          , contentType);

完整的程式碼如下:
publicActionResultDownload()         {

[C#] LINQ 查詢, 刪除重複的資料

最簡單的方法是使用 .Distinct() 來達成 .Distinct() 會根據查詢結果裡的所有欄位的值來決定是否為重複資料

若今天的資料如下
IDProjectNamePriceCountryCreateDatetime1001hello_kity1000TW2017/04/071002hulk2000TW2017/04/051003hulk2000US2017/04/06

當我們沒有使用.Distinct()  時, 若以底下的語法查詢ProjectName 與 Price的話,
var _info = (from m in _DB.tblmodel              select new                                 {                                     ProjectName = m.ProjectName,                                     Price = m.Price                                 }                ).ToList();
我們會得到重複的資料如下


ProjectNamePrice1hello_kity10002hulk20003hulk2000
但是如果使用了.Distinct()   的話 var _info = (frommin_DB.tblmodel selectnew                                 {                                     ProjectName = m.ProjectName, Price= m.Price

[SQL] 修改資料庫的名字

當你在SSMS上嘗試修改資料庫時(如更改名字)
若此時有其他程式正在query這個資料庫的話
我們就有可能會遇到以下的錯誤訊息
Msg 5030, Level 16, State 2, Line 1 The database could not be exclusively locked to perform the operation.
解決方法是:
將資料庫轉為 Single user的模式
再來修改資料庫
use masterALTERDATABASE BOSEVIKRAM SET SINGLE_USER WITHROLLBACK IMMEDIATE   
ALTERDATABASE BOSEVIKRAM MODIFY NAME =[BOSEVIKRAM_Deleted] ALTERDATABASE BOSEVIKRAM_Deleted SET MULTI_USER

http://wiki.lessthandot.com/index.php/Kill_All_Active_Connections_To_A_Database
http://blog.miniasp.com/post/2009/05/15/Using-SINGLE_USER-mode-to-change-Database-configuration.aspx

[C#][LINQ] select all 輸出所有欄位

如何讓LINQ查詢的結果輸出table裡所有的欄位資料
今天假如我有一個 Table employee
在Table 裡有 ID , name, phone  三個欄位
若我想查詢所有名字出現"Andy"的員工時
使用一般的SQL查詢的語法如下:
Select * from employee where name like 'Andy' 
那如果是用LINQ來查詢呢!?
答案: var profile = ( from p in employee where p.name.Contains( "Andy") select p )                       . toList();