2011-11-21 39 views
5

Tôi mới sử dụng Delphi7.Thông báo lỗi "Không có giá trị cho thông số"

Khi tôi cố gắng sử dụng tính năng "Thêm tất cả các trường" của trình soạn thảo trên đối tượng TClientDataSet, hộp thông báo (hộp thông báo lỗi cổ điển) xuất hiện với thông báo "Không có giá trị cho tham số '(tên của tham số)'".
Tôi không thể thêm các trường bằng tính năng "tất cả các trường" nữa.
Tôi làm cách nào để tìm nguồn của lỗi "Không có giá trị cho thông số"?

Trả lời

2

Tôi tự quản lý. Đối tượng TClientDataSet có thông số với các thuộc tính DataTypeParamType cả hai được đặt thành Unknown. Đặt thông số với các thuộc tính chính xác đã giải quyết được sự cố, tôi có thể "thêm tất cả các trường" một lần nữa. Cảm ơn câu trả lời.

3

Vấn đề là (rất có thể) rằng ClientDataSet không được lấp đầy với bất kỳ dữ liệu nào.
Thiếu dữ liệu, không thể liệt kê các trường.

Làm như sau:

  1. đặt một kết nối trên biểu mẫu. [connection1]
  2. Kết nối cơ sở dữ liệu với cơ sở dữ liệu điền thông tin đăng nhập, mật khẩu, cơ sở dữ liệu và điều gì đó.
  3. Làm cho kết nối hoạt động. (chỉ có thể nếu tất cả các tham số kết nối được điền chính xác).
  4. đặt bảng trên biểu mẫu. [table1]
  5. Đặt là connection thuộc tính để kết nối1.
  6. Đặt thuộc tính tablename thành bảng hợp lệ; đặt active thành true.
  7. Đặt datasetprovider vào biểu mẫu. [datasetprovider1]
  8. Đặt số dataset thành bảng1.
  9. Đặt một clientdataset vào biểu mẫu của bạn [cds1].
  10. Đặt providername trong số cds1 thành datasetprovider1.
  11. Set cds1.Active true

Bây giờ bạn có thể chọn lĩnh vực, bởi vì bây giờ CD chứa dữ liệu thực tế.

0

Tôi không nghĩ rằng bất kỳ dữ liệu nào là cần thiết để làm những gì bạn muốn - và câu trả lời đầu tiên được cung cấp dường như không bao gồm dữ liệu, mặc dù đó là tuyên bố ban đầu. Bạn sẽ có thể thêm tất cả các trường miễn là bạn có một kết nối đến một bảng, truy vấn, thủ tục lưu trữ hoặc một cái gì đó tương tự.

Câu hỏi của bạn cho biết không có giá trị cho tham số và hiển thị thông số nào - mặc dù bạn không nói. Nhưng nó có lẽ là tham số cho một truy vấn hoặc như vậy. Truy vấn đó không thành công vì bạn không cung cấp tham số, do đó bạn không nhận được bất kỳ kết quả nào. Tất nhiên điều này bao gồm không có trường.

Kiểm tra tham số trong thông báo lỗi.

Các vấn đề liên quan