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

Đề tài: [Hỏi]Những vấn đề cần tìm hiểu về C++ MFC

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    73

    Mặc định [Hỏi]Những vấn đề cần tìm hiểu về C++ MFC

    Mình mới bắt đầu tìm hiểu về C++ MFC trên môi trường VS 2008 nên có những thắc mắc cần tìm hiểu và nghiên cứu như sau. Mong được các bạn chỉ dẫn dùm

    1) SDI, MDI, Dialog base là 3 loại project có trong MFC Application. Các bạn có thể chỉ sơ cho mình rõ là chúng có đặc điểm khác biệt nào cụ thể như :
    - Với mỗi loại (SDI,MDI, Dialog) thì thường chúng được áp dụng cho kiểu lập trình cho các mục đích nào?
    - Chúng khác biệt nhau như thế nào về sự hỗ trợ của các class trong MFC?

    2) Nếu mình chọn project kiểu Dialog thì có thể kết nối tới Database không? Và nếu được thì cách kết nối và truy xuất như thế nào? Còn nếu không, thì có nghĩa là phải chọn kiểu SDI hoặc MDI để có được Database support, vậy làm thế nào để khi chúng ta Build và Run sẽ hiển thị như kiểu Dialog base.

    Cảm ơn mọi người đã đọc

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    1) SDI là ứng dụng chỉ có một cửa sổ con bên trong một cửa sổ cha, ví dụ như chương trình notepad. MDI là ứng dụng có nhiều cửa sổ con bên trong cửa sổ cha, ví dụ như VC6. Dialog base là ứng dụng dùng dialog làm giao diện, nó có dạng giống chương trình calculator của win. Tất cả đều được MFC hỗ trợ như nhau.

    2)Database và giao diện là độc lập với nhau. Bất cứ chương trình nào trong win về lý thuyết cũng có thể kết nối tới database, ko riêng gì MFC, do đó Dialog base cũng có thể kết nối tới Database được.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    73

    Cảm ơn bạn đã trả lời.

    Mình có thêm một vấn đề cần hỏi là. Giờ mình viết một ứng dụng trong VC++ MFC 2008 truy xuất dữ liệu với Access qua ODBC. Mình có cấu trúc của connection strings với Microsoft Access Driver như sau :

    CString connectionstring;
    connectionstring.Format(_T("DRIVER={%s};DNS='';DBQ =%s"),sODBCDriver,sFileData);

    Vấn đề của mình là:

    1) DBQ là gì, tại sao nếu sửa thành DB hay DQ hay là một tên gì đó thì nó sẽ không chạy được.

    2) Mình không hiểu là làm thế nào để biết được cấu trúc của connectionstring đó để có thể tạo ra nó. Nếu giờ mình không dùng Access mà dùng Excel hay MYSQL,... thì connectionstring sẽ sữa lại ra sao và những thông tin cần sữa đó ở đâu ra?
    Đã được chỉnh sửa lần cuối bởi VaT : 28-11-2008 lúc 01:54 AM.

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

    1) DBQ là gì, tại sao nếu sửa thành DB hay DQ hay là một tên gì đó thì nó sẽ không chạy được.

    2) Mình không hiểu là làm thế nào để biết được cấu trúc của connectionstring đó để có thể tạo ra nó. Nếu giờ mình không dùng Access mà dùng Excel hay MYSQL,... thì connectionstring sẽ sữa lại ra sao và những thông tin cần sữa đó ở đâu ra?
    Cái này nó giống như là một công thức. Do đó bạn phải nhớ chứ cũng không thể tạo ra nó. Nhưng dĩ nhiên là bạn cũng chẳng cần nhớ để làm gì khi đã có tiến sĩ google.

    Một số string connect:

    ODBC Driver for Excel
    C++ Code:
    1. strConnection = _T("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;"
    2.     bq=C:\\DatabasePath\\DBSpreadSheet.xls;DefaultDir=c:\\databasepath;");

    ODBC Driver for Text
    C++ Code:
    1. strConnection = _T("Driver={Microsoft Text Driver (*.txt; *.csv)};"
    2.         "Dbq=C:\\DatabasePath\\;Extensions=asc,csv,tab,txt;");

    ODBC Driver for Access
    C++ Code:
    1. strConnection = _T("Driver={Microsoft Access Driver (*.mdb)};"
    2.         "Dbq=c:\\DatabasePath\\dbaccess.mdb;Uid=;Pwd=;");
    3.  
    4. // Password
    5. strConnection = _T("Driver={Microsoft Access Driver (*.mdb)};"
    6.         "Dbq=C:\\VC Projects\\ADO\\Samples\\AdoTest\\dbTestSecurity.mdb;"
    7.         "SystemDB=C:\\Program Files\\Microsoft Office\\Office\\SYSTEM.mdw;"
    8.         "Uid=Carlos Antollini;Pwd=carlos");

    ODBC Driver for SQL Server
    C++ Code:
    1. strConnection = _T("Driver={SQL Server};Server=MyServerName;"
    2.         "Trusted_Connection=no;"
    3.         "Database=MyDatabaseName;Uid=MyUserName;Pwd=MyPassword;");

    ODBC Driver for Oracle
    C++ Code:
    1. strConnect = _T("Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;"
    2.         "Uid=MyUsername;Pwd=MyPassword;");

    ODBC Driver for mySQL
    C++ Code:
    1. strConnect = _T("Driver={mySQL ODBC 3.51 Driver};Server=MyRemoteHost;"
    2.      "Port=3306;Option=4;Database=MyDatabase;Uid=MyUsername;Pwd=MyPassword;");

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