2011-11-21 29 views
5

Jestem nowy w Delphi7.Komunikat o błędzie "Brak wartości parametru"

Kiedy próbuję użyć funkcji edytora "Dodaj wszystkie pola" w obiekcie TClientDataSet, pojawia się komunikat (klasyczne okno komunikatu o błędzie) z komunikatem "Brak wartości dla parametru" (nazwa parametru) "".
Nie mogę dodawać pól za pomocą funkcji "wszystkie pola".
Jak znaleźć źródło błędu "Brak wartości dla parametru"?

Odpowiedz

2

Zarządzałem sam. Obiekt TClientDataSet miał parametr o właściwościach DataType i ParamType oba ustawione na Unknown. Ustawienie parametru o poprawnych właściwościach rozwiązało problem, mogłem ponownie "dodać wszystkie pola". Dzięki za odpowiedzi.

3

Problem polega (najprawdopodobniej) na tym, że ClientDataSet nie jest wypełniony żadnymi danymi.
Brak danych, nie można wyświetlić żadnych pól.

Wykonaj następujące czynności:

  1. umieścić połączenia na formularzu. [connection1]
  2. Połączyć go z bazą danych wypełnić login, hasło, bazę danych i inne.
  3. Włącz połączenie. (możliwe tylko, jeśli wszystkie parametry połączenia są poprawnie wypełnione).
  4. umieścić tabelę na formularzu. [table1]
  5. Ustaw właściwość connection na połączenie1.
  6. Ustaw właściwość tablename na poprawną tabelę; ustaw active na true.
  7. Umieść datasetprovider w formularzu. [datasetprovider1]
  8. Ustaw dataset na table1.
  9. Umieść clientdataset w swoim formularzu [cds1].
  10. Ustaw providername z cds1 na datasetprovider1.
  11. Set cds1.Active do prawdziwej

Teraz można wybrać pola, bo teraz cds posiada rzeczywiste dane.

0

Nie sądzę, że dane są niezbędne do zrobienia tego, co chcesz - a pierwsza dostarczona odpowiedź nie zawiera danych, mimo że jest to oryginalne oświadczenie. Powinieneś być w stanie dodać wszystkie pola, o ile masz połączenie z tabelą, zapytaniem, procedurą składowaną lub czymś podobnym.

Twoje pytanie mówi, że nie ma wartości dla parametru i pokazuje, który parametr - mimo że nie mówisz. Ale jest to prawdopodobnie parametr zapytania lub coś takiego. To zapytanie kończy się niepowodzeniem, ponieważ nie podajesz parametru, dlatego nie uzyskasz żadnych wyników. Oczywiście nie obejmuje to pól.

Sprawdź parametr w komunikacie o błędzie.