Friday, December 19, 2008

Sql Syntax

เรียนรู้คำสั่ง SQL ได้จากเว็บ
http://www.w3schools.com/SQL/sql_syntax.asp

SQL DML and DDL

The query and update commands form the DML part of SQL:

  • SELECT - extracts data from a database
  • UPDATE - updates data in a database
  • DELETE - deletes data from a database
  • INSERT INTO - inserts new data into a database
The DDL part of SQL permits database tables to be created or deleted. It also define indexes (keys), specify links between tables, and impose constraints between tables. The most important DDL statements in SQL are: 
  • CREATE DATABASE - creates a new database
  • ALTER DATABASE - modifies a database
  • CREATE TABLE - creates a new table
  • ALTER TABLE - modifies a table
  • DROP TABLE - deletes a table
  • CREATE INDEX - creates an index (search key)
  • DROP INDEX - deletes an index

สร้าง class SqlDataAccess

เนื่องจากการเชื่อมต่อกับฐานข้อมูล ต้องถูกเรียกใช้บ่อยๆ สมควรจะสร้าง class ขึ้นมา

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

public static class SqlDataAccess
{
public static SqlCommand CreateCommand()
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = WebConfig.ConnectionString;

SqlCommand comm = conn.CreateCommand();
comm.CommandType = CommandType.StoredProcedure;

return comm;
}

public static DataTable ExecuteSelectCommand(SqlCommand comm)
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = comm;

DataTable table = new DataTable();
adapter.Fill(table);
return table;

// หรือ ใช้เป็น dataset
DataSet ds new DataSet();
adapter.Fill(ds);
return ds;
}

public static string ExecuteScalar(SqlCommand comm)
{
comm.Connection.Open();
string result = comm.ExecuteScalar().ToString();
comm.Connection.Close();

return result;
}

public static int ExecuteNonQuery(SqlCommand comm)
{
comm.Connection.Open();
int result = comm.ExecuteNonQuery();
comm.Connection.Close();
return result;
}
}