| | April 2024 | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | Calendar |
|
| TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. | |
| | Tác giả | Thông điệp |
---|
Mr.Pakapun Mod
![Mod Mod](https://2img.net/h/i980.photobucket.com/albums/ae290/cnpm3k34/rank_mod.gif)
![Mr.Pakapun](https://2img.net/u/3212/10/20/37/avatars/96-81.jpg)
Tổng số bài gửi : 256 Join date : 25/02/2011 Age : 32 Đến từ : CTU
![TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Empty](https://2img.net/i/empty.gif) | Tiêu đề: TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Fri Aug 19, 2011 7:06 am | |
| CÁC TỪ KHÓA TRONG C SHARP - PHẦN I. Để học một ngôn ngữ mới, chúng ta nên bắt đầu từ việc làm quen với các từ khóa và cách sử dụng của chúng. Tôi nghĩ rằng việc học tốt được C Sharp sẽ dễ dàng hơn cho những ai đã có nền tảng khá tốt về C++. Nằm trong một quy trình: Làm Quen với các từ khóa - Tìm Hiểu Cấu Trúc - Bắt đầu với những ví dụ cơ bản... Trong phần đầu này chúng ta sẽ sơ lược qua tất cả các từ khóa trong C Sharp và Phân loại chúng. Bảng dưới đầy chứa đầy đủ tất cả các từ khóa có trong C Sharp. nhưng thật không may, chúng được sắp xếp theo thứ tự Alphabet thay vì sắp xếp theo loại: abstract event new struct as explicit null switch base extern object this bool false operator throw break finally out true byte fixed override try case float params typeof catch for private uint char foreach protected ulong checked goto public unchecked class if readonly unsafe const implicit ref ushort continue in return using decimal int sbyte virtual default nterface sealed volatile delegate internal short oid do is sizeof while double ock stackalloc else long static enum namespace string Hãy nhớ rằng các Giá Trị sẽ không đề cập đến trong danh sách trên, mà chỉ Cấu Trúc mới được coi là những Từ Khóa trong Môi Trường Phát Triển Tích Hợp (IDE - Intergrated Development Environment). Và bây giờ, chúng ta hãy khám Phá Danh Sách các từ khóa trong bảng trên và phân loại chúng đế chúng ta có thể dễ dàng hơn trong việc tổ chức, sắp xếp và sử dụng chúng. Tuy nhiên, hiện tại tôi không phải là một chuyên gia trong C Shapr, cách phân loại dưới đây do tôi sưu tầm. Nếu ai có ý kiến khác, xin hãy chia xẻ cùng mọi người tham khảo và sửa đổi. Các Từ Khóa mà thay đổi 1 lớp, 1 hàm, 1 thuộc tính hay 1 trường: * abstract * const * extern * internal * new * override * private * protected * public * readonly * sealed * static * virtual * volatile * void Các Từ Khóa xử lý Loại Đối tượng và chuyển đổi loại: * as * explicit * implicit * is * operator * sizeof * typeof Các Từ Khóa chỉ Kiểu gắn liền, xác định:
* bool * byte * char * class * decimal * double * enum * float * int * interface * long * object * sbyte * short * string * struct * uint * ulong * ushort Các Từ khóa mà có thể thay đổi tiến trình của chương trình: * break * case * continue * default * do * else * for * foreach, in * goto * if * return * switch * while Các Từ Khóa mà được sử dụng cho việc sử lý Ngoại Lệ:
* catch * checked * finally * throw * try * unchecked Các Từ Khóa mà có chức năng giống với kiểu con trỏ trong C++ và Các Chủ đề liên quan:
* delegate * event Từ Khóa mà ảnh hưởng tới sự sưu tập dữ liệu không thích hợp:
* fixed Từ Khóa giúp việc khóa các Đoạn code giới hạn:
* lock Từ Khóa Khai báo Phạm vi * namespace Từ khóa mà điều khiển Sự cấp phát hay Phá hủy Đối Tượng:
* new * stackalloc Các Từ Khóa ảnh hưởng tới việc truyền tham số cho các Hàm: * out * params * ref Các Từ Khóa chỉ nghĩa đen hoặc liên quan đến thể hiện của đối tượng hiện tại: * null * false * true * this * value Từ Khóa giải quyết việc các đoạn mã không được quản lý:
* unsafe Từ Khóa Chỉ sự Pha tạp, không xác định:
* base * void | |
| ![Go down](https://2img.net/i/empty.gif) | | Mr.Pakapun Mod
![Mod Mod](https://2img.net/h/i980.photobucket.com/albums/ae290/cnpm3k34/rank_mod.gif)
![Mr.Pakapun](https://2img.net/u/3212/10/20/37/avatars/96-81.jpg)
Tổng số bài gửi : 256 Join date : 25/02/2011 Age : 32 Đến từ : CTU
![TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Empty](https://2img.net/i/empty.gif) | Tiêu đề: Re: TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Fri Aug 19, 2011 7:29 am | |
| có vướn mắc gì trong quá trình học tập hay phát hiện gì mới, mọi người hãy cùng thảo luận tại đây. Cám ơn các bạn đã tham gia.... ![TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Victory](https://lh4.googleusercontent.com/-OK4oi3c7nw4/Tk2mvTdFeXI/AAAAAAAAAWo/LDd983wkJG8/s128/victory.jpg) | |
| ![Go down](https://2img.net/i/empty.gif) | | Mr.Pakapun Mod
![Mod Mod](https://2img.net/h/i980.photobucket.com/albums/ae290/cnpm3k34/rank_mod.gif)
![Mr.Pakapun](https://2img.net/u/3212/10/20/37/avatars/96-81.jpg)
Tổng số bài gửi : 256 Join date : 25/02/2011 Age : 32 Đến từ : CTU
![TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Empty](https://2img.net/i/empty.gif) | Tiêu đề: Re: TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Fri Aug 19, 2011 7:48 am | |
| CÁCH KẾT NỐI CSDL MYSQL TỪ CHƯƠNG TRÌNH VC# TRONG MÔI TRƯỜNG VISUAL STUDIO 2005 Bạn có thể lập trình VC# (hay VJ#, VB .Net) truy xuất database MySQL bằng cách dùng 1 trong 4 giao tiếp lập trình sau: ODBC .Net, MySQL Provider, OLEDB .Net, thư viện lập trình API. 1. ODBC .Net: đây là giao tiếp chuẩn hóa nên có tính tổng quát hóa cao nhất, bạn truy xuất database của MySQL và của các hệ quản trị CSDL khác thông qua các đối tượng chuẩn của Microsoft (trong namespace System.Data.Odbc). 2. MySQL Provider đặc dụng, thí dụ như MySQLDirect, phương pháp này cũng giống như phương pháp 1, chỉ có điều là bạn phải cài và sử dụng các đối tượng đặc dụng của 1 hãng khác chứ không dùng các đối tượng ODBC chuẩn của Microsoft. 3. OLEDB .Net, phương pháp này rất giống như phương pháp 1, chỉ khác là thay vì dùng các đối tượng ODBC .Net, bạn sẽ dùng các đối tượng OLEDB .Net. Mặc dù các đối tượng OLEDB .Net cũng do Microsoft cung cấp, nhưng Microsoft khuyến cáo họ sẽ không hỗ trợ các đối tượng OLEDB .Net nữa. 4. Thư viện lập trình API đặc dụng bằng C++, thí dụ như thư viện mysqlclient. Đây là phương pháp có tính tổng quát hóa thấp nhất, vì đoạn lệnh truy xuất database trong ứng dụng chứa rất nhiều lệnh gọi hàm API của thư viện đặc dụng. Tóm lại trong 4 phương pháp trên, chỉ có phương pháp 1 là tổng quát nhất, do đó bạn nên lập trình dùng phương pháp này để truy xuất database MySQL. Thí dụ hàm Testdb() sau đây cho phép tạo 1 table mới trên database 'test' do MySQL server chạy trên máy 'NgocDV' quản lý, hàm này dùng các đối tượng ODBC .Net sau: OdbcConnection, OdbcCommand, OdbcDataReader. using Console = System.Console; - Code:
-
using System.Data.Odbc; private void Testdb() { try{ //Connection string dùng DSN và MyODBC 3.51 string MyConString = "DSN=MySQL"; //hoặc Connection string dùng trực tiếp Provider MyODBC 3.51 /*string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=NgocDV;" + "DATABASE=test;" + "UID=zensoft;" + "PASSWORD=nssh;" + "OPTION=3"; */ //tạo connection tới database OdbcConnection MyConnection = new OdbcConnection(MyConString); MyConnection.Open();
//xóa table testdb nếu đã có rồi OdbcCommand MyCommand = new OdbcCommand("DROP TABLE IF EXISTS testdb",MyConnection); MyCommand.ExecuteNonQuery();
//Tạo lại table testdb có 3 field MyCommand.CommandText = "CREATE TABLE testdb(hoten varchar(40),namsinh int, diachi varchar(50))"; MyCommand.ExecuteNonQuery();
//Thử thêm 1 record dữ liệu MyCommand.CommandText = "INSERT INTO testdb VALUES('Dao Van Ngoc',1983,'An Dong, An Duong, HP')"; MyCommand.ExecuteNonQuery(); //Thử thêm 1 record dữ liệu nữa MyCommand.CommandText = "INSERT INTO testdb VALUES('Duong Thu Son',1983,'Trai Chuoi, Hong bang, Hp')"; MyCommand.ExecuteNonQuery(); //Thử thêm 1 record dữ liệu nữa MyCommand.CommandText = "INSERT INTO testdb VALUES('Pham Tuan Hai',1985,'294 Tran Nguyen Han, HP')"; MyCommand.ExecuteNonQuery(); //Thử thêm 1 record dữ liệu nữa MyCommand.CommandText = "INSERT INTO testdb VALUES('Nguyen Ha Son',1985,'10/10 Lạch tray, HP')"; MyCommand.ExecuteNonQuery();
//Hiệu chỉnh thử 1 field của 1 số record thỏa điều kiện MyCommand.CommandText = "UPDATE testdb SET namsinh=1984 WHERE namsinh=1985"; MyCommand.ExecuteNonQuery();
//Đếm số record hiện có MyCommand.CommandText = "SELECT COUNT(*) as TRows FROM testdb"; Console.WriteLine("Total Rows: " + MyCommand.ExecuteScalar());
//Duyệt đọc và hiển thị các record trong table MyCommand.CommandText = "SELECT * FROM testdb"; OdbcDataReader MyDataReader; MyDataReader = MyCommand.ExecuteReader(); while (MyDataReader.Read()) { Console.WriteLine("Data: " + MyDataReader.GetString(0) + ", " + MyDataReader.GetInt32(1) + ", " + MyDataReader.GetString(2)); //BIGINTs not supported by MyODBC }
//Đóng các đối tượng đã dùng MyDataReader.Close(); MyConnection.Close(); } catch (OdbcException MyOdbcException) {//Catch tất cả lỗi exception for (int i=0; i < MyOdbcException.Errors.Count; i++) { Console.Write("ERROR #" + i + "\n" + "Message: " + MyOdbcException.Errors[i].Message + "\n" + "Native: " + MyOdbcException.Errors[i].NativeError.ToString() + "\n" + "Source: " + MyOdbcException.Errors[i].Source + "\n" + "SQL: " + MyOdbcException.Errors[i].SQLState + "\n"); } } } Một số lưu ý khi lập trình dùng ODBC .Net: 1. Cài đặt MySQL Server trên máy nào đó và lưu ý tên (địa chỉ) của máy đó. Nhớ cấu hình cho MySQL Server sử dụng ít nhất protocol TCP/IP để giao tiếp với các máy client.
2. Download "MySQL ODBC 3.51 Driver" và cài đặt nó trên máy client (máy sẽ chạy ứng dụng do bạn viết). Bạn có thể download "MySQL ODBC 3.51 Driver" ở địa chỉ [You must be registered and logged in to see this link.]
3. Nếu lập trình dùng DSN trong connection string để nối kết với MySQL Server, bạn phải tạo trước DSN kết hợp với database cần truy xuất. Bạn hãy chạy Control Panel.Administrative Tools.Data Source (ODBC) để tạo DSN kết hợp với database cần truy xuất.
4. Nếu lập trình dùng DSN trong connection string thì đoạn lệnh mà bạn viết hoàn toàn độc lập với công nghệ quản lý database, vị trí vật lý database. Cụ thể hàm Testdb() mà chúng tôi viết ở trên hoàn toàn độc lập với công nghệ quản lý database và vị trí vật lý của database, nó có thể truy xuất bất kỳ database nào của hệ quản trị database nào, bạn chỉ cần vào tool Data Source (ODBC) của Windows và hiệu chỉnh lại các thông số liên quan đến database cần truy xuất là đủ. | |
| ![Go down](https://2img.net/i/empty.gif) | | Mr.Pakapun Mod
![Mod Mod](https://2img.net/h/i980.photobucket.com/albums/ae290/cnpm3k34/rank_mod.gif)
![Mr.Pakapun](https://2img.net/u/3212/10/20/37/avatars/96-81.jpg)
Tổng số bài gửi : 256 Join date : 25/02/2011 Age : 32 Đến từ : CTU
![TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Empty](https://2img.net/i/empty.gif) | Tiêu đề: Re: TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Sat Sep 17, 2011 10:55 am | |
| để "tiếp lửa" cho niên luận 2 kì này, tôi xin post một số video hướng dẫn thao tác lập trình CSDL với C#- Windows Form. Trước đó, mọi người hãy thầm cảm ơn anh iloveit1208 - một pro lập trình C#, tôi đã sưu tầm những video của anh và share vơi mọi người. mọi người hãy cùng nhau thảo luận về những gì mình thu được sau quá trình nghiên cứu các video tại đây.....để cùng tiến.... Video 1: ôn lại 1 số lệnh truy vấn cơ bản: [You must be registered and logged in to see this link.]Video 2: Sử dụng SqlConnection để kết nối CSDL: [You must be registered and logged in to see this link.]Video 3: Sử dụng SqlCommand và SqlDataReader: [You must be registered and logged in to see this link.]Video 4: Sử dụng SqlDataAdapter, Dataset, DataTable: [You must be registered and logged in to see this link.]Video 5: Ôn lại bằng 1 ứng dụng winform đơn giản: [You must be registered and logged in to see this link.]Video 6: Các sử dụng Store Procedure với C#: [You must be registered and logged in to see this link.]Video 7: Cách sử dụng Transaction: [You must be registered and logged in to see this link.]Video 8: Hiển thị, thêm, sửa, xóa bằng storeprocedure: [You must be registered and logged in to see this link.]Video 9: Cách viết mô hình 3 lớp: [You must be registered and logged in to see this link.]Video 10: Tìm kiếm đơn giản: [You must be registered and logged in to see this link.]Chúc các bạn thực hiện tốt Niên luận 2 của mình. Một lần nữa, cám ơn anh iloveit1208 | |
| ![Go down](https://2img.net/i/empty.gif) | | Sponsored content
![TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Empty](https://2img.net/i/empty.gif) | Tiêu đề: Re: TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. ![TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. Empty](https://2img.net/i/empty.gif) | |
| |
| ![Go down](https://2img.net/i/empty.gif) | | | TOPIC C#: Trao đổi, thắc mắc về C#, vào đây. | |
|
Trang 1 trong tổng số 1 trang | |
Similar topics | ![+](https://2img.net/i/empty.gif) |
|
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| |
|