2010-04-16 30 views
6

Trong thiết kế nguồn dữ liệu studio trực quan, có cách nào để làm mới bảng và các mối quan hệ của nó/các ràng buộc khóa ngoài trong khi vẫn giữ các truy vấn tùy chỉnh không?Bảng làm mới thiết kế của Data Studio DataSet

Cách tôi đang thực hiện tại thời điểm này là xóa bảng và thêm lại. Điều này cho biết thêm tất cả các mối quan hệ và làm mới tất cả các lĩnh vực.

Ngoài ra nếu tôi thay đổi loại dữ liệu trường, có cách nào để tự động làm mới tất cả các trường trong nguồn dữ liệu không? Một lần nữa mà không xóa bảng và thêm nó một lần nữa.

Lý do cho điều này là do một số TableAdapters của tôi có khá nhiều truy vấn phức tạp được đính kèm với chúng và khi tôi xóa bảng, bộ điều hợp sẽ bị xóa cũng bao gồm tất cả các truy vấn của nó.

Tôi đang sử dụng Visual Studio 2008 và kết nối với cơ sở dữ liệu MySQL.

Any1 có ý tưởng không?

Trả lời

6

Mỗi bảng có một truy vấn mặc định (một bảng ở trên cùng với kiểm tra trên đó). Khi bạn kéo các bảng vào bộ dữ liệu để tạo truy vấn, nó đã viết một câu lệnh SQL mà nó sử dụng để lược đồ bảng của bạn. Giữ truy vấn đó đơn giản, bạn có thể không thực sự sử dụng nó trong mã và bạn luôn có thể chỉnh sửa truy vấn đó để cập nhật giản đồ bảng.

Mỗi khi bạn mở truy vấn mặc định, nó kết nối với nguồn dữ liệu của bạn và cho phép bạn chọn các cột mới không có trong đó trước đây. Nếu bạn muốn cập nhật các cột hiện có của mình, hãy xóa tất cả các cột ra khỏi bảng trước khi bạn cố gắng mở truy vấn. Khi bạn lưu truy vấn, các cột được cập nhật của bạn sẽ được thêm lại.

Đảm bảo chuỗi kết nối của bạn có quyền xem thông tin cột.

+0

Cảm ơn vì điều đó :) Tôi đã thực sự bắt đầu sử dụng NHibernate như đề xuất ở trên, nhưng cảm ơn anyway, điều này sẽ giúp tôi trước khi tôi bắt đầu sử dụng NHibernate. –

+0

Đã không làm việc cho tôi. – SeaDrive

+0

"sử dụng nó để lược đồ bảng của bạn" không hoàn toàn hợp lý. (Lược đồ là nhiều hơn một danh sách các cột.) Đối phó với một cột có độ dài được sửa đổi, không có số lượng "làm mới" trên Số liệu, bảng được đề cập hoặc cột trong bảng dường như giao tiếp với xsd. Tôi đã có thể mở rộng đối tượng DataTable, chọn cột và chỉnh sửa là thuộc tính MaxLength trong danh sách thuộc tính. (Nhưng nó để lại câu hỏi về lý do tại sao "làm mới" không phải là làm mới unanswered. Bây giờ với VS2012, nhưng tôi chắc chắn tôi đã có cùng một vấn đề này với VS2008.) – fortboise

1

Bạn có thể thêm/thay đổi/xóa trường và tàu quan hệ, nhưng tôi khuyên bạn nên xem xét NHibernate.

1

Bạn sẽ có thể nhấp chuột phải vào tập dữ liệu trong trình khám phá giải pháp và chọn "Chạy công cụ tùy chỉnh" để làm mới bảng và đó là truy vấn/mối quan hệ.

Nếu không có lệnh đó, hãy kiểm tra xem thuộc tính tập dữ liệu có "MSDataSetGenerator" trong trường Công cụ tùy chỉnh không.

+0

Đã không làm việc cho tôi. – SeaDrive

1

Tôi đã báo cáo điều này với MSFT nhưng không phản hồi. Nhà thiết kế treo mọi lúc trên các câu lệnh SQL đơn giản nhất. Những gì tôi thấy có hiệu quả đối với tôi.

  1. Thêm bảng mới vào trình thiết kế.
  2. Lưu.
  3. Tắt studio trực quan 2010.
  4. Bắt đầu VS 2010.
  5. Thêm một hoặc hai câu lệnh SQL và làm theo các bước 2-4 một lần nữa.

Đây là một cơn đau ở cổ nhưng điều duy nhất ngăn thiết kế bộ dữ liệu Visual Studio bị treo. Tôi có kinh nghiệm trong cùng một vấn đề trong VS 2008. Tôi đang kết nối với Oracle nhưng vẫn tắt VS và bắt đầu nó sao lưu công trình, nhưng thực sự, điều này là vô nghĩa.

0
  1. Nhấp chuột phải vào tên DataSet của bạn và chọn Dataset Thuộc tính
  2. Bên dưới hộp Query bạn sẽ thấy một nút cho Refresh Fields.
  3. Nhấp vào Trình thiết kế truy vấn và trường mới sẽ hiển thị trong danh sách bảng của bạn.
Các vấn đề liên quan