Danh mục

MySQL & C

Số trang: 16      Loại file: pdf      Dung lượng: 233.38 KB      Lượt xem: 18      Lượt tải: 0    
10.10.2023

Hỗ trợ phí lưu trữ khi tải xuống: 9,000 VND Tải xuống file đầy đủ (16 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

MySQL cung cấp một thư viện viết bằng C để làm việc với DBMSCác tính năng:Kết nối với máy chủ (sử dụng SSL – secured socket layer)Gửi các câu truy vấn, nhận và xử lý kết quảKiểm tra và xử lý lỗiInclude (cần khi biên dịch):#include #include Thư viện (cần khi biên dịch):#pragma comment(lib, "libmysql.lib")Hoặc thêm vào danh sách các thư viện dịch (xem trang sau)Thư viện động (cần khi chạy chương trình):libmysql.dllKhởi tạo thư viện:int mysql_library_init(int argc,char** argv, char **groups)Có thể bỏ qua, không cần gọi hàm này nếu chương trình chỉ có một tiến trình chạy (mono-thread)Kết thúc...
Nội dung trích xuất từ tài liệu:
MySQL & C MySQL & C EE4509, EE6133 – HK2 2011/20121 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiGiới thiệu MySQL cung cấp một thư viện viết bằng C để làm việc với DBMS Các tính năng: Kết nối với máy chủ (sử dụng SSL – secured socket  layer) Gửi các câu truy vấn, nhận và xử lý kết quả  Kiểm tra và xử lý lỗi  EE4509, EE6133 – HK2 2011/2012 2 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiThiết lập thư viện Include (cần khi biên dịch): #include  #include Thư viện (cần khi biên dịch): #pragma comment(lib, libmysql.lib)  Hoặc thêm vào danh sách các thư viện dịch (xem trang sau)  Thư viện động (cần khi chạy chương trình): libmysql.dll  Khởi tạo thư viện: int mysql_library_init(int argc,  char** argv, char **groups) Có thể bỏ qua, không cần gọi hàm này nếu chương trình chỉ có một tiến  trình chạy (mono-thread) Kết thúc sử dụng thư viện: mysql_library_end()  EE4509, EE6133 – HK2 2011/2012 3 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiThêm thư viện để liên kết EE4509, EE6133 – HK2 2011/20124 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiVí dụ #include  #include #include int main() { if (mysql_library_init(0, NULL, NULL)) { fprintf(stderr, could not initialize MySQL library ); exit(1); } /* ... */ mysql_library_end(); return 0; } EE4509, EE6133 – HK2 2011/2012 5 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiCác kiểu dữ liệu MYSQL: chứa thông tin về kết nối tới DBMS MYSQL_RES: chứa kết quả trả về của các câu truy vấn có trả về kết quả là các hàng (các câu lệnh: select, show, explain) MYSQL_ROW: dữ liệu của một hàng trong kết quả MYSQL_FIELD: dữ liệu của một trường trong một hàng của kết quả EE4509, EE6133 – HK2 2011/2012 6 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiThiết lập và đóng kết nối Tạo kết nối: MYSQL* conn = mysql_init(NULL);  mysql_real_connect(conn, server_addr, username, password, database_name, 0, NULL, 0); Đóng kết nối: mysql_close(conn);  EE4509, EE6133 – HK2 2011/2012 7 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiVí dụ int main (int argc, char *argv[]) { MYSQL* conn = mysql_init (NULL); if (conn == NULL) return 1; if (mysql_real_connect (conn, opt_host_name, opt_user_name, opt_password, opt_db_name, opt_port_num, opt_socket_name, opt_flags) == NULL) { fprintf (stderr, failed ); mysql_close (conn); } mysql_close (conn); return 0; } EE4509, EE6133 – HK2 2011/2012 8 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiKiểm tra lỗi MySQL cung cấp các hàm sau để lấy thông tin về lỗi khi xảy ra: unsigned int mysql_errno(MYSQL* conn)  Trả về mã lỗi const char *mysql_error(MYSQL* conn)  Trả về thông điệp lỗi Thông tin thêm về mã và các thông điệp lỗi (bản 5.0): http://dev.mysql.com/doc/refman/5.0/en/error-handling.html  EE4509, EE6133 – HK2 2011/2012 9 TS. Đào Trung Kiên – ĐH Bách khoa Hà NộiThực hiện câu truy vấn Để gửi và thực hiện câu truy vấn, dùng hàm: int mysql_query(MYSQL* conn,  const char* stmt) int mysql_real_query(MYSQL* conn, const char* stmt, unsigned long len) Các tham số: stmt: chuỗi chứa câu truy vấn  len: độ dài của chuỗi chứa câu truy vấn Trả về 0 nếu thành công, khác 0 nếu có lỗi  EE45 ...

Tài liệu được xem nhiều: