Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 19
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Có hai cách truy vấn dữ liệu từ database , nên chọn cách nào và vì sao ?

    Giả sử chúng ta có một database tên là: cdcv.
    Nếu chúng ta muốn truy suất vào database đó, các visual studio cung cấp hai phương thức sau:
    1
    - Dùng các control sinh mã tự động. Ví dụ như: DataList, Gridview, Listbox,...
    - Khi đó, gần như mọi chức năng thao tác đến database đều được các control cung cấp sẵn. Chúng ta chỉ việc gọi các phương thức đó và cung cấp chuỗi string là ok.
    2
    - Viết code từ A-Z, nghĩa là từ việc kết nối đến các thao tác.
    ...
    Mình ko biết có ai đã tham gia vào các dự án, người ta thường chọn theo cách nào.
    Theo quan điểm cá nhân của mình: sẽ chọn 2. Vì sao:
    Các control thay đổi theo từng version của .Net, ví như: ListBox của .Net Frame 3.0 (visual 2005) khác với ListBox của .Net Frame 4.0 (visual 2010...tất nhiên các bạn có thể update library như ý mình nói cái .Net default khi cài thôi).
    Sự thay đổi này khá bất tiện, khi update new library các control nếu ko hiểu sẽ bị lỗi liền.
    Sự thật là sự ra đời của LINQ đã chứng minh điều đó. Giúp cho việc hiện thực code dễ dàng hơn.
    Còn ý kiến nào khác hok nhỉ.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Tớ chọn cách 1. khà khà! Viết tách nhau ra, giao diện không liên quan gì đến cái khác đến lúc sửa thì sửa mỗi nó thôi là xong. Thường thì có sẵn rồi, kéo thả cho nhanh chứ lại lọ mọ viết lâu kinh hồn!

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    phần giao diện thì gắp thả
    phần kết nối DB thì code

    ngâm cứu cái 3 layers model nhé bạn

  4. #4
    Trích dẫn Gửi bởi nhuan07
    Giả sử chúng ta có một database tên là: cdcv.
    Nếu chúng ta muốn truy suất vào database đó, các visual studio cung cấp hai phương thức sau:
    1
    - Dùng các control sinh mã tự động. Ví dụ như: DataList, Gridview, Listbox,...
    - Khi đó, gần như mọi chức năng thao tác đến database đều được các control cung cấp sẵn. Chúng ta chỉ việc gọi các phương thức đó và cung cấp chuỗi string là ok.
    2
    - Viết code từ A-Z, nghĩa là từ việc kết nối đến các thao tác.
    ...
    Mình ko biết có ai đã tham gia vào các dự án, người ta thường chọn theo cách nào.
    Theo quan điểm cá nhân của mình: sẽ chọn 2. Vì sao:
    Các control thay đổi theo từng version của .Net, ví như: ListBox của .Net Frame 3.0 (visual 2005) khác với ListBox của .Net Frame 4.0 (visual 2010...tất nhiên các bạn có thể update library như ý mình nói cái .Net default khi cài thôi).
    Sự thay đổi này khá bất tiện, khi update new library các control nếu ko hiểu sẽ bị lỗi liền.
    Sự thật là sự ra đời của LINQ đã chứng minh điều đó. Giúp cho việc hiện thực code dễ dàng hơn.
    Còn ý kiến nào khác hok nhỉ.
    Theo mình thì chúng ta nên làm theo cách 2. và làm theo mô hình 3 tầng.
    cái này vì mình nghĩ nó bảo mật và rõ ràng hơn.

    chúng ta sẽ truy vấn tại tầng dưới cùng là tầng DataAccess (DAL), tầng này sẽ nhận lệnh từ tầng BLL và truy vấn rồi trả ngược lại cho BLL.vấn đề bắt lỗi chúng ta sẽ làm việc tại tầng thứ 2 là tầng BussinessLogic (BLL), tầng này sẽ kiểm tra thao tác người dùng truyền xuống tầng DAL rồi nhận ngược lại. và tầng thứ 3 là tầng làm việc trực tiếp với người dùng (Presentation) tầng này có trách nhiệm về giao diện và vấn đề truy vấn đến cơ sở dữ liệu chúng ta chỉ việc gọi lại các method ở tầng BLL ra mà thôi.[IMG]images/smilies/biggrin.png[/IMG] theo mình nghĩ là vậy bác nào có cao kiến xin chỉ giáo nhé.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Vậy bác sẽ tự viết datagirdview, listview, datalist à? Có nên không đây? Sao không gắp nó vào. Ý kiến của bác cũng là 3 lớp sao nó cứ ngược với anh Z thế nhỉ. Chẳng hiểu gì cả.

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi khoaimon
    Vậy bác sẽ tự viết datagirdview, listview, datalist à? Có nên không đây? Sao không gắp nó vào. Ý kiến của bác cũng là 3 lớp sao nó cứ ngược với anh Z thế nhỉ. Chẳng hiểu gì cả.
    [IMG]images/smilies/laughing.gif[/IMG] Trời
    ai dại đi thiết kế giao diện mà code thế khi có sẵn tool. có code thì code CSS với Jc thôi.
    phần giao diện thì kéo thả thôi còn code dành cho nó thì mới 3 tầng chứ.
    tất cả những gì họ cho mình đâu có thừa. sử dụng hợp lý và thuận tiện là ok .

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thật ra chủ đề của nhuan07 có nhiều vấn đề cần thảo luận quá.

    A. Mỗi control của .Net khi giao tiếp với Database thì đều có 1 thuộc tính Datasource. Để cung cấp datasource cho các control này thì chúng ta có 2 cách:
    1. (Dùng các control sinh mã tự động) là Sử dụng đối tượng SqlDatasource
    2. (Viết code từ A-Z, nghĩa là từ việc kết nối đến các thao tác.) là Sử dụng đối tượng DataTable
    Nếu như vậy tôi cũng đồng ý sử dụng cách 2 này hơn.

    B. Viết code từ A-Z Thật ra vẫn chưa hiểu chỗ này lắm, có thể là:
    1. Ví dụ như chúng ta ko sử dụng control GridView mà chúng ta sử dụng vòng lặp for và vài mã lệnh HTML để tạo ra 1 kết quả dạng grid show ra màn hình.
    2. Chúng ta tạo ra 1 user control riêng ví dụ như MyGridView để thay thế GridView của .Net
    Như vậy ý của bạn là cái nào ?

    C.


    Nếu dùng các hàng của MS bây giờ, coding chỉ là chuyện nhỏ, vấn đề thiết kế mới quan trọng
    Vấn đề thiết kế ở đây ý bạn muốn nói đến thiết kế lại control của Microsoft hay là thiết kế hệ thống phần mềm ?

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    A. Mỗi control của .Net khi giao tiếp với Database thì đều có 1 thuộc tính Datasource. Để cung cấp datasource cho các control này thì chúng ta có 2 cách:
    1. (Dùng các control sinh mã tự động) là Sử dụng đối tượng SqlDatasource
    2. (Viết code từ A-Z, nghĩa là từ việc kết nối đến các thao tác.) là Sử dụng đối tượng DataTable
    Nếu như vậy tôi cũng đồng ý sử dụng cách 2 này hơn.
    Thống nhất 100%.

    B. Viết code từ A-Z Thật ra vẫn chưa hiểu chỗ này lắm, có thể là:
    1. Ví dụ như chúng ta ko sử dụng control GridView mà chúng ta sử dụng vòng lặp for và vài mã lệnh HTML để tạo ra 1 kết quả dạng grid show ra màn hình.
    2. Chúng ta tạo ra 1 user control riêng ví dụ như MyGridView để thay thế GridView của .Net
    Như vậy ý của bạn là cái nào ?
    Nếu như vậy thì gọi là: "He is a crazy programmer". Như bạn nói ở A đó, viết để lấy DataSource rồi hiển thị lên các control of Visual. (hiểu theo tích cực nhé....)

    C.

    Vấn đề thiết kế ở đây ý bạn muốn nói đến thiết kế lại control của Microsoft hay là thiết kế hệ thống phần mềm ?
    [/QUOTE]

    Tương tự như B
    .......

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Tóm lại là code database, design = microsoft.

    1. Nếu không dùng code thì mình không phải là lập trình viên, chỉ là người sử dụng tools.

    2. Design chỉ là phương tiện hiển thị dữ liệu của mình cho người xem. Nếu không có nhu cầu cao, đơn thuần sử dụng tools xuất dữ liệu được thì cứ dùng, việc gì phải code design?

    3. Nếu code design thì có thể dùng tools khác tùy biến như datalist, repeater ...
    Việc gì phải nhọc công ngồi viết 1 cái table ra rồi sau đó lại tìm cách viết từng sự kiện.

    Thân!

  10. #10
    Trích dẫn Gửi bởi brianbui2009
    Tóm lại là code database, design = microsoft.

    1. Nếu không dùng code thì mình không phải là lập trình viên, chỉ là người sử dụng tools.

    2. Design chỉ là phương tiện hiển thị dữ liệu của mình cho người xem. Nếu không có nhu cầu cao, đơn thuần sử dụng tools xuất dữ liệu được thì cứ dùng, việc gì phải code design?

    3. Nếu code design thì có thể dùng tools khác tùy biến như datalist, repeater ...
    Việc gì phải nhọc công ngồi viết 1 cái table ra rồi sau đó lại tìm cách viết từng sự kiện.

    Thân!
    Bài viết chỉ có thể nói là: 10/10, nhưng hình như mình ko tìm thấy chức năng "Thank" thì phải...
    Đây cũng là ý kiến cuối cùng, jậy End topic nhé.

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •