ADO - Jet 4 problem z polskimi znakami

0

Mam bazę MSACCESS 2000 i obsługuję ją z poziomu programu.
Łącze się z bazą :
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=\bazy\baza.mdb;
Persist Security Info=False;

wszystko niby jest ok ale co jakiś czas jak połączę się z bazą to dane lądują bez polskich znaków.
Czyli Ą to A ; Ł to L itd.
Co ciekawsze jak wejdę do bazy przez MSACCESS to wszystko jest ok i zapisuje polskie znaki i odczytuje.
W przypadku zapisu polskich znaków przez program z daną ułomnością to w bazie pojawiają sie dziwne znaczki zamiast polskich znaków, ale program odczytuje te dziwne znaki jako polskie - niestety inni użytkownicy po takim zapisie widzą krzaczki.

Ta przypadłość jest jak najbardziej losowa i raz występuje a raz nie.
Sprawdzam już ustawienia regionalne czy przypadkiem nie są inne niż polski ale jak test pokazał zawsze jest polski i domyślny, układ klawiatury również polski programisty.
Dodam również, że dla testów uruchomiłem dwadzieścia kilka razy aplikację jednocześnie i błąd pojawił się po 20 uruchomieniu a czasem po 40 uruchomieniu a czasem jako 1.

Czy ktoś wie o co chodzi ??? Czy ktoś spotkał się z tym problemem. Czy powinienem coś jeszcze dopisać do programu czy coś może sprawdzić w systemie ???

0

Spróbuj Table, Query i podobnym ustaiwć OEMTranslate = true

0
Misiekd napisał(a)

Spróbuj Table, Query i podobnym ustaiwć OEMTranslate = true

Dziwne - jakoś nie mogę znaleŹć właściwości OEMTranslate.
Czy mógłbyś napisać coś więcej jak rozwiązać problem ?

0
  1. wróć w ADO jest to Transliterate we właściwościach konkretnego pola (tekstowego)
  2. spróbuj ZEOSLib

Ja bym jednak obstawał za rozwiązaniem nr 2 bo sam miałem niemiłe doświadczenia z ADO i Accessem

0
Misiekd napisał(a)
  1. wróć w ADO jest to Transliterate we właściwościach konkretnego pola (tekstowego)
  2. spróbuj ZEOSLib

Ja bym jednak obstawał za rozwiązaniem nr 2 bo sam miałem niemiłe doświadczenia z ADO i Accessem

Fajnie niby jest rozwiązanie ale jakoś tego nie rozumiem mam kilka klas :
TADOConnection
TADOQuery
TDataSource
TListView
TComboBox
Tmemo
TEdit

Buduje zapytanie sql w TADOQuery i wynik ładuje do TListview lub TCombobox itd.
Przykład :
user image

i niby gdzie to mam ustawić w TCombobox czy gdzieś indziej?

0
  1. dwa razy na adoquery
  2. prawym na okienku i add all fields
  3. kliknie sobie pole textowe i tam masz

olej ado i ściągnij sobie ZeosLib

0
Misiekd napisał(a)
  1. dwa razy na adoquery
  2. prawym na okienku i add all fields
  3. kliknie sobie pole textowe i tam masz

olej ado i ściągnij sobie ZeosLib

SUPER byłoby gdyby projekt był statyczny a nie dynamiczny niestety nie mogę z tego skorzystać w fazie projektu ponieważ nie wiadomo jaka baza będzie załadowana na starcie i jakie będzie zapytanie sql.

Może wiesz jak mój problem rozwiązać podczas działania programu ?

Czy może coś ze stroną kodową trzeba zrobić tylko co i gdzie ?

Edycja (24.07.2006)
Rozwiązanie problemu :
http://4programmers.net/Forum/313524?h=abj#id313524

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