Zapytanie SELECT do bazy MS SQL i błąd "invalid column"

0

Witajcie, mam mały problem utworzyłem program który łączy się z bazą danych i dla prostego zapytania

SQL.CommandText :='SELECT * FROM TOWARY' ;

wyświetla się zawartość tabeli
natomiast jesli do zapytania sql dodam warunek:

SQL.CommandText :='SELECT * FROM TOWARY  where czy_ewidencjonowac=T' ;

zapytanie się nie wykonuje i pokazuj błąd:

1.jpg

poprawienie tytułu wątku, dodanie znaczników <code class="delphi"> oraz wstawienie obrazu do treści posta - fp

0
SQL.CommandText :='SELECT * FROM TOWARY  where czy_ewidencjonowac="T"' ;
0

Pokazuje ten sam błąd :-(

0

A jaka jest struktura bazy danych?

1

Jeżeli to MS SQL to 'T' w pojedyńczych apostrofach.

0

Ale jeśli dam w pojedynczym apostrofie to delphi zgłasza blad. Wiem że mssql właśnie do klauzuli where warunki powinny być w pojedynczym apostrofie.

0
SQL.CommandText :='SELECT * FROM TOWARY  where czy_ewidencjonowac = '''T''' ' ;
2

Ale jeśli dam w pojedynczym apostrofie to delphi zgłasza blad.

Bo w edytorze kodu znak apostrofu rozpoczyna lub zakańcza ciąg znaków; Zobacz na to co podał wyżej @_pytek - od razu widać, że coś jest nie tak, skoro nawet kolorowanie składni (w edytorze kodu będzie tak samo) źle koloruje literę T;

Albo wstaw dwa znaki apostrofu:

SQL.CommandText :='SELECT * FROM TOWARY  where czy_ewidencjonowac = ''T''';

albo odwołaj się do kodu znaku apostrofu, który w ASCII wynosi 39:

SQL.CommandText :='SELECT * FROM TOWARY  where czy_ewidencjonowac = '#39'T'#39;

Pierwszy wariant krótszy i czytelniejszy.

0

Dziękuję koledzy forma:

SQL.CommandText :='SELECT * FROM TOWARY   where czy_ewidencjonowac=''T'''

działa prawidłowo :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1