Ví dụ Chương trình Hello World public class HelloWorld { public static void Main { System.Console.WriteLine"Hello!"; } } Hàm main Xuất ra console Khai báo lớp... IO chuẩn trong
Trang 1SQL Server & C#
Trang 2Giới thiệu C#
C# là một ngôn ngữ lập trình được phát triển bởi
Microsoft (năm 2002), cho phép xây dựng các ứng dụng trên nền tảng NET
Dựa trên C++ và Java
Một số đặc điểm:
Thuần tuý hướng đối tượng
Không dùng con trỏ và địa chỉ
Đơn giản và dễ học
Trang 3Ví dụ
Chương trình Hello World
public class HelloWorld {
public static void Main() {
System.Console.WriteLine("Hello!");
} }
Hàm main Xuất ra console Khai báo lớp
Trang 4Tạo ứng dụng C# (MS Visual Studio NET 2008)
1
2
3
Trang 5Tạo ứng dụng C# (tiếp)
Trang 6IO chuẩn trong C#
Xuất ra đầu ra chuẩn:
System.Console.Write( )
System.Console.WriteLine( )
Đọc từ đầu vào chuẩn:
string System.Console.ReadLine()
chuyển sang các dạng dữ liệu mong muốn
Ví dụ:
System.Console.Write("Nhap mot so nguyen: "); string s = System.Console.ReadLine();
int val = int.Parse(s);
Trang 7Giao tiếp với SQL Server
Thư viện cần sử dụng: System.Data.SqlClient
using System.Data.SqlClient;
Các lớp cần sử dụng:
SqlConnection: thiết lập kết nối với SQL Server
SqlCommand: thực thi các câu truy vấn
SqlParameter: tham số của câu truy vấn
SqlDataReader: lấy dữ liệu trả về của câu truy vấn
SqlException: xử lý lỗi
Tạo đối tượng trong C#: bằng toán tử new
SqlConnection conn = new SqlConnection();
Trang 8Thiết lập kết nối
Sử dụng đối tượng của lớp SqlConnection
Các tham số được đưa vào thuộc tính
ConnectionString
Gọi hàm Open() để thiết lập kết nối
Gọi hàm Close() để đóng kết nối
SQL
Trang 9Ví dụ
const string SERVER = "localhost";
const string INSTANCE = "SQLEXPRESS";
const string USERNAME = "kien";
const string PASSWORD = "kien";
const string DATABASE = "abc";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = string.Format(
@"Data Source={0}\{1};" +
"Initial Catalog={2};" +
"User Id={3};" +
"Password={4};" +
"Connection Timeout=10",
SERVER, INSTANCE, DATABASE, USERNAME, PASSWORD);
conn.Open();
// Do stuff
conn.Close();
Trang 10Thực thi câu truy vấn
SqlCommand cmd = new SqlCommand(query, conn);
query: chuỗi chứa câu truy vấn
conn: kết nối đã được thiết lập
Tuỳ từng trường hợp, dùng một trong các hàm sau để
thực thi câu truy vấn:
ExecuteNonQuery():
Trả về số hàng đã bị ảnh hưởng (thêm/bớt/thay đổi)
ExecuteScalar():
Trả về giá trị đầu tiên trả về của câu truy vấn
ExecuteReader():
Trả về một đối tượng SqlDataReader dùng để đọc dữ liệu
Trang 11Ví dụ: SELECT (1)
SqlCommand cmd = new SqlCommand(
"select count(*) from Book", conn);
object result = cmd.ExecuteScalar() ;
int count = int.Parse(object.ToString());
System.Console.WriteLine(
"Row count: {0}", count);
Trang 12Ví dụ: SELECT (2)
SqlCommand cmd = new SqlCommand(
{
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
System.Console.Write(
reader.GetValue(i) + "\t");
}
System.Console.WriteLine();
}
Trang 13Ví dụ: INSERT
SqlCommand cmd = new SqlCommand(
"insert into Book(title, author)" +
"values ('Gone with the wind', 2)," +
"('Petit prince', 5)", conn);
int count = cmd.ExecuteNonQuery() ;
System.Console.WriteLine(
"{0} rows inserted", count);
Trang 14Ví dụ: UPDATE
SqlCommand cmd = new SqlCommand(
"update Book" +
"set author=4" +
"where author=10", conn);
int count = cmd.ExecuteNonQuery() ;
System.Console.WriteLine(
"{0} rows updateed", count);
Trang 15Xử lý lỗi trong C#
C# dùng cơ chế xử lý lỗi bằng câu lệnh try…catch
try { // khối lệnh cần thực hiện } catch (ExpType exp) {
// xử lý lỗi }
Khi xảy ra lỗi, đoạn lệnh trong khối try sẽ dừng và nhảy tới phần
xử lý lỗi trong khối catch
exp là đối tượng chứa thông tin về lỗi cần xử lý
khi xảy ra lỗi sẽ tạo ra đối tượng lỗi có kiểu
SqlException
Trang 16Xử lý lỗi SQL trong C# (tiếp)
Việc xử lý lỗi SQL trong C# sẽ có dạng như sau:
try { // các câu lệnh với SQL
} catch (SqlException exp) { // xử lý lỗi
}
Ví dụ:
try { // các câu lệnh với SQL
} catch (SqlException exp) { System.Console.WriteLine(exp.Message);
Trang 17Bài tập
1 Định nghĩa một quan hệ SinhVien, sau đó viết một
chương trình C# nhập thông tin sinh viên, thêm
vào CSDL và in ra ID của sinh viên vừa được thêm
2 Viết chương trình C# nhập ID của một sinh viên và
in ra thông tin của sinh viên đó
3 Viết chương trình C# nhập tên của sinh viên và in
ra thông tin những người có tên như đã nhập