SELECT * FROM SCORE WHERE COURSE = '物件導向程式設計' SELECT * FROM SCORE WHERE COURSE LIKE '%程式設計%' SELECT * FROM SCORE ORDER BY SCORE DESC ================================ --SQL註解1 /*SQL註解2*/ ================================ --別名 SELECT S.COURSE FORM SCORE S =============================== --合併表格 INNER JOIN SELECT P.NAME, S.SID, S.SCORE, S.COURSE FROM SCORE S INNER JOIN STUDENT P ON S.SID = P.SID --簡化寫法 SELECT P.NAME, S.SID, S.SCORE, S.COURSE FROM SCORE S, STUDENT P WHERE S.SID = P.SID ================================== --LEFT OUTTER JOIN SELECT P.NAME, S.SID, S.COURSE, S.SCORE FROM SCORE S, LEFT OUTTER JOIN STUDENT P ON S.SID = P.PID --RIGHT OUTTER JOIN SELECT P.NAME, S.SID, S.COURSE, S.SCORE FROM SCORE S, RIGHT OUTTER JOIN STUDENT P ON S.SID = P.PID --FULL OUTTER JOIN SELECT P.NAME, S.SID, S.COURSE, S.SCORE FROM SCORE S, FULL OUTTER JOIN STUDENT P ON S.SID = P.PID
INSERT..() VALUE..() INSERT SCORE (SID, COURSE, SCORE) VALUES ('S001', '程式設計', 86) INSERT SCORE (SID, COURSE, SCORE) VALUES ('A003', '程式設計', 74) 由於各欄位不可為NULL,故語法可以省略為下: INSERT SCORE VALUE ('S002', '演算法', 77) INSERT SCORE VALUE ('S003', '演算法', 57) =============== UPDATE.. SET..= WHERE..= UPDATE SCORE SET COURSE = '物件導向程式設計', SCORE = 95 WHERE SID = 'S001' ================= DELETE FROM.. WHERE..= DELETE FROM SCORE WHERE SID = 'S003' ================= SELECT * FROM SCORE SELECT SID AS '學號', COURSE AS '科目名稱', SCORE AS '分數" FROM SCORE
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using WebApplication1.Models; using WebApplication1.Services; namespace WebApplication1.Controllers { public class MessageController : Controller { messageDBService data = new messageDBService(); //實作Services的物件 (其含有兩個方法:1.取得資料庫資料並回傳 2.接收資料並寫進資料庫) // GET: Message public ActionResult Index() //執行Index檢視頁面 (首頁或索引頁面) { return View(data.GetData()); //將資料傳回View (使用方法1.) } public ActionResult Create() //執行Create檢視頁面 (新增資料的頁面) { return View(); } [HttpPost] //當瀏覽器發送HTTP POST請求才會執行 public ActionResult Create(string Article_title, string Content) //當使用Create這個Action且有帶參數時 { data.DBCreate(Article_title, Content); //把資料寫進資料庫 (使用方法2.) return RedirectToAction("Index"); //回到Index這個Action } } }
Interface: 定義為抽象的概念,與Class差別為,界面雖然有包含屬性與方法,但只宣告而不包含實作內容。 --類別只能"繼承"一個父類別,但能"實作"(語法跟繼承很像)多個介面。(老爸只能有一個,乾爹可以認很多個的概念) --類別實作介面時,只會得到方法的名稱,不會包含任何實作內容。
class Aaa{} //class類別 decimal Bbb(){} //method方法 int Ccc{get; set;} //property屬性 。不含set的屬性被視為唯讀 。不含get的屬性被視為唯寫 。同時具有這兩種存取子的屬性則為可讀寫
Console.WriteLine() 秀畫面並換行; Console.Write() 秀畫面;
========================
Console.Write(string.Format("{0}*{1}={2:00}\t", j, i, j * i)); //類矩陣的方式,定義每個值的顯示方式
> Entity Framework(souvent appelé EF):
> Une technologie .NET Framework d'accès aux données pour définir et travailler avec des classes de modèle.
> Par défaut, Entity Framework recherche une chaîne de connexion portant le même nom que l'objet classe de contexte (MovieDBContext pour ce projet).
> Entity Framework est par défaut à l'aide LocalDB.
> LocalDB est une version allégée du moteur de base de données SQL Server Express
> LocalDB fonctionne dans un mode d'exécution spéciale de SQL Server Express qui vous permet de travailler avec des bases de données comme les fichiers .mdf.
> En général, les fichiers de base de données LocalDB sont conservés dans le dossier App_Data d'un projet web.
> SQL Server Express n'est pas recommandé pour une utilisation dans les applications web de production.
> LocalDB en particulier ne doit pas être utilisé pour la production d'une application Web, car il est pas conçu pour fonctionner avec IIS. toutefois, une base de données LocalDB peut être facilement migré vers SQL Server ou SQL Azure.
> Code Razor symbole d'annotation @ *…….*@
> Une classe de contrôleur est l'endroit où vous écrivez le code qui gère les demandes de navigateur entrants, récupère des données à partir d'une base de données, et, finalement, décide quel type de réponse à envoyer au navigateur.
> Un modèle de vue ne doit jamais exécuter la logique métier ou d'interagir avec une base de données directement. Au lieu, un modèle de vue devrait fonctionner uniquement avec les données qui lui sont fournies par le contrôleur. Le maintien de cette “séparation des préoccupations” aide à garder votre code propre, testable et plus maintenable.
> Il est actuellement par le contrôleur(par URL)Informations transmises à View(rendu de l'écran)