Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: C++ & mySQL trên Linux

  1. #1
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Mặc định C++ & mySQL trên Linux

    Dạo này mình đang tẩy chay công nghệ của MS nên hết viết tút cho VC++ roài hé hé .

    Hôm nay viết 1 tút về mySQL và C++ (oh my love) .

    Biết là ít có ai xài Linux nhiều nhưng mà chắc rồi cũng có người cần!

    Đầu tiên là cài MY SQL:

    Bạn có thể vào Package Manager để cài "mysql-server" bằng bằng giao diện.

    Hoặc là gõ lệnh trên terminal:



    Rồi chờ download package về. Nói chung setup thì đơn giản.

    Sau khi cài xong thì bạn có thể kiểm tra kết mysql như sau:
    Code:
    mysql --user="root" --password <enter>


    Nếu mà cài rồi mà ko kết nối được thì có thể là do mySQL chưa khởi động.
    Bạn có thể gõ lệnh
    Code:
    sudo /etc/init.d/mysql restart
    Ta nên cài thêm package mySQL-Administrator cho dễ sử dụng hơn





    Tạo database và table với giao diện cũng dễ hơn nữa






    Cài đặt thư viện mySQL cho C++

    Như vậy là đã cài xong mySQL nhưng mà để lập trình thì ta cần phải có thư viện.

    Nếu bạn nào đã biết PHP rồi thì chắc bạn sẽ biết có 2 cách để lập trình với mySQL là mysql++ (theo hướng đối tượng) và mysql (phong cách C <- php thông thường sử dụng cách này).

    Okie! Mình sẽ cài cả 2 luôn.

    - mysql++: package: libmysql++-dev ( bạn có thể tham khảo các function của mysql++ ở đây http://tangentsoft.net/mysql++/doc/ )



    - mysql: package: libmysqlclient[15]-dev



    Khởi động NETBEAN lên vào tạo project C++




    Mình ko quen sử dụng mysql++ nên làm tạm mysql. Nói chung cách code y chang như PHP à.



    Và quan trọng là bạn phải add thư viện mysqlclient.a


    Còn gì nữa ta:
    Dĩ nhiên phải tham khảo thêm các function của nó nhé.
    http://dev.mysql.com/doc/refman/5.0/...functions.html

    C++ Code:
    1. #include <iostream>
    2. #include <mysql/mysql.h>
    3.  
    4. using namespace std;
    5.  
    6. int main(int argc, char** argv)
    7. {
    8.     MYSQL mysqlConnection;
    9.  
    10.     // Kich hoat mySQL
    11.     mysql_init(&mysqlConnection);
    12.  
    13.     if ( !mysql_real_connect(&mysqlConnection, "localhost", "root", "123456", "dbTestDatabase", 3306, NULL, 0) )
    14.     {
    15.         cout << "mySQLServer Connect failed!" << endl;
    16.         return 0;
    17.     }
    18.     cout << "mySQLServer Connected!" << endl;
    19.    
    20.     char *sqlCommand = (char*)"SELECT * FROM dbTestDatabase.tbTestTable t LIMIT 0,200";
    21.     cout << sqlCommand << endl;
    22.     if ( mysql_query(&mysqlConnection,sqlCommand) )
    23.     {        
    24.         cout << "Querry failed!";
    25.         mysql_close(&mysqlConnection);
    26.         return 0;
    27.     }
    28.  
    29.     // Lay ket qua truy van
    30.     MYSQL_RES* querryResult = mysql_store_result(&mysqlConnection);
    31.     MYSQL_ROW  row;
    32.  
    33.     cout << "Total row: " << querryResult->row_count << endl;
    34.  
    35.     // Lay tat ca cac row du lieu
    36.     for ( int i = 0; i < querryResult->row_count; ++i )
    37.     {
    38.         row = mysql_fetch_row(querryResult);
    39.  
    40.         // In tat ca cac colume:
    41.         for ( int col = 0; col < mysql_num_fields(querryResult); ++col )
    42.             cout <<  row[col] << ":";
    43.  
    44.         cout << endl;
    45.     }
    46.     // free result
    47.     mysql_free_result(querryResult);
    48.  
    49.     // Dong ket noi
    50.     mysql_close(&mysqlConnection);
    51.            
    52.     return 1;
    53. }


    Biên dịch và chạy nhé:


    (vì mình sử dụng UTF8 ở mysql nên nó ko có dấu - chả sao cả)

    À chú ý nếu gọi store procedure ở mySQL thì chính là câu truy vấn.
    call <procedurename>( <val1> , <val2> ) nhá chứ ko giống C# đâu

    Chúc mọi người thứ vui!
    Đã được chỉnh sửa lần cuối bởi ZCoder87 : 29-04-2009 lúc 07:21 PM.

  2. #2
    Ngày gia nhập
    04 2008
    Bài viết
    244

    Mạng nhà mình là mạng dùng bao nhiêu trả bấy nhiêu nên không thể cắm máy cho nó tự cập nhật được,bạn có thể đưa link down và cách cài đặt cái NetBeans và MS SQL trên Linux được không

  3. #3
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Trích dẫn Nguyên bản được gửi bởi honey Xem bài viết
    Mạng nhà mình là mạng dùng bao nhiêu trả bấy nhiêu nên không thể cắm máy cho nó tự cập nhật được,bạn có thể đưa link down và cách cài đặt cái NetBeans và MS SQL trên Linux được không
    - NetBeans thì vào trang chủ Sun
    - MySQL chứ không phải là MS SQL ... vào Package Manager check để install package
    None!

Các đề tài tương tự

  1. Database Cách kết nối CSDL MySQL trên hosting Linux trong C#?
    Gửi bởi Ken Zaki trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 17-12-2012, 10:37 PM
  2. Giảm 50% học phí khóa Mã nguồn mở (Linux, Php, Mysql, Apache,…)
    Gửi bởi dnictdanang1 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 27-09-2012, 09:53 AM
  3. Muốn học về Linux để phát triển theo hướng mã nguồn mở trên Linux thì phải làm những gì?
    Gửi bởi vncoder trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 7
    Bài viết cuối: 06-01-2012, 07:58 AM
  4. Cài đặt MySQL trên Linux
    Gửi bởi Forlorn_hope trong diễn đàn Thủ thuật, Tutorials Database
    Trả lời: 5
    Bài viết cuối: 04-10-2010, 09:17 AM
  5. Sao lưu và khôi phục lại MySQL với mysql-zrm trên Debian Sarge
    Gửi bởi neverland87 trong diễn đàn Thủ thuật, Tutorials Database
    Trả lời: 0
    Bài viết cuối: 05-03-2007, 05:08 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn