24
namespace WebApplication1.Models
{
    public class GuestbookDB
    {
        GuestbookEntities1 db = new GuestbookEntities1();
        //GuestbookEntities1: 資料庫,如一個公司別的資料庫

        public void Create(string name, string content)
        {
            Contents NewData = new Contents();
            //Contents: 資料庫底下的一個Table

            NewData.name = name;
            NewData.content = content;

            db.Contents.Add(NewData);
            db.SaveChanges();
        }
        public void Create(Contents NewData)
        {
            db.Contents.Add(NewData);
            db.SaveChanges();
        }
    }
}
21
--新增含有三個欄位的TABLE
CREATE TABLE COURSE(
CNAME NVARCHAR(128) PRIMARY KEY,
CREDIT INT,
TEACHER NVARCHAR(30)
)

=========================

--在既有TABLE新增一個欄位
ALTER TABLE SCORE
ADD NEWFILED VARCHAR(10)

--修改欄位形態
ALTER TABLE SCORE ALTER COLUMN NEWFILED INT

--刪除欄位
ALTER TABLE SCORE DROP COLUNN NEWFILD 

=========================

--刪除TABLE
DROP TABLE dbo.AVERAGE
21
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
18
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
13

9
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
        }
    }
}
8
JAVA
Interface跟抽象class只要有定義方法,在class中就必須要再對此方法做完整的定義。

C#
將共同特性從類別中萃取的過程,稱之為抽象化。
abstract class:封裝同類型物件的共同特性,如機車、公車的車輛屬性。
interface:定義不同類型物件的共同特性,滑鼠、NB的USB介面。
	介面可視為一份合約,合約的內容可透過實作此介面的類別加以實現。
	利用介面將實作內容與定義分離,可為日後程式的開發及擴充性保留彈性。
	為介面命名時,習慣在最前面加上I,意指Interface。

abstract:一定要override,否則也要宣告為abstract
virtual:可改可不改
sealed:不可改
7
Interface: 定義為抽象的概念,與Class差別為,界面雖然有包含屬性與方法,但只宣告而不包含實作內容。
--類別只能"繼承"一個父類別,但能"實作"(語法跟繼承很像)多個介面。(老爸只能有一個,乾爹可以認很多個的概念)
--類別實作介面時,只會得到方法的名稱,不會包含任何實作內容。
4
class Aaa{}				//class類別
  decimal Bbb(){}		//method方法
    int Ccc{get; set;} 	//property屬性

。不含set的屬性被視為唯讀
。不含get的屬性被視為唯寫
。同時具有這兩種存取子的屬性則為可讀寫
2
Console.WriteLine()	秀畫面並換行;
Console.Write()		秀畫面;

========================

Console.Write(string.Format("{0}*{1}={2:00}\t", j, i, j * i));
//類矩陣的方式,定義每個值的顯示方式


검색 계속 »