Ĺadny brzuch
mam problem dotyczący zapytań mysql w delphi. korzystam z dbexpress + turbo delphi 2k6. gdy tworzę zapytanie (dość długie), w którym liczba znaków przekracza 255 otrzymuję error. czy da się to jakoś obejść?
A nie możesz dać WideString ?
właśnie w tym problem, że właściwość CommandText jest ustawiona na zwykły string. dostępu do źródeł nie mam niestety.
wyrabiając się w 255 znakach też bym sobie jakoś poradził, ale wydajność byłaby już nie ta sama.
to chyba kwestia turbo delphi, w normalnym sie tak nie dzieje ... sprobuj przypisywac tekst zapytania w ten sposob:
costam.CommandText := 'czesc 1, ponizej 255 znakow' + 'reszta tekstu';
A nie możesz dać WideString ?
WideString to string do przechowywania tekstu unicode. Wiec to nie ma nic do rzeczy ...
mam problem dotyczący zapytań mysql w delphi. korzystam z dbexpress + turbo delphi 2k6. gdy tworzę zapytanie (dość długie), w którym liczba znaków przekracza 255 otrzymuję error. czy da się to jakoś obejść?
tak oczywiscie ze mozesz obejsc.
1. stringlist
2. w Mysql ustwaw pole na text
tak oczywiscie ze mozesz obejsc.
1. stringlist
2. w Mysql ustwaw pole na text
a można jaśniej?:D
@migajek: jak tak łączę stringa to też mi wywala błąd a kursor przeskakuje do końca pierwszego z łączonych.
Użytkownik czychacz edytował ten post 19 maj 2009, 07:13
@migajek: jak tak łączę stringa to też mi wywala błąd a kursor przeskakuje do końca pierwszego z łączonych.
to sprobuj tak:
var q: string; begin q:= 'tekst1 ... bla bla, dajmy na to 200 znakow' + ' reszta zapytania, nie wiecej jak 200' + 'itp itd... '; costam.commandText:= q;
jak to sie nie uda - sprobuj tak:
costam.commandText:= 'czesc 1'; costam.commandText:= costam.commandText + 'czesc 2';
Przecież to normalne, że w delphi string może mieć tylko 255 bajtów. Do długich napisów używa się ansistring lub pchar.
migajek - ty chyba pisałeś w delphi i nie wiesz o tym?
Użytkownik Radek edytował ten post 20 maj 2009, 01:19
a można jaśniej?:D
Czego nie rozumiesz? Zamiast string daj StringList.
Przecież to normalne, że w delphi string może mieć tylko 255 bajtów. Do długich napisów używa się ansistring lub pchar.
string - w Delphi dla win32 string jest równoważny z AnsiString (chyba że ustalisz inaczej, dyrektywą {$H-}). (dla odmiany, pod .net string = WideString)
a pchar ma się do stringa jak ... ;) pchar to wskaźnik na adres pierwszego znaku tzw null-terminated string. Czyli ciągu zakończonego znakiem #0
więc zanim się wypowiesz na temat którego nie jesteś pewien to sprawdź co piszesz.
a pchar ma się do stringa jak ... ;) pchar to wskaźnik na adres pierwszego znaku tzw null-terminated string. Czyli ciągu zakończonego znakiem #0
Gdybyś pisał w c to nie mówiłbyś "a pchar ma się do stringa jak..." :)
string - w Delphi dla win32 string jest równoważny z AnsiString (chyba że ustalisz inaczej, dyrektywą {$H-}).
Co nie zmienia faktu, że jest to tylko ustawienie kompilatora i musi być ustawione w pliku konfiguracyjnym na H+ by działało.
Gdybyś pisał w c to nie mówiłbyś "a pchar ma się do stringa jak..." :)
w tym temacie rozmawiamy o delphi. oczywiście, nie napisałem tego w powyższym zdaniu, uznałem to za zbyt oczywiste...
Co nie zmienia faktu, że jest to tylko ustawienie kompilatora i musi być ustawione w pliku konfiguracyjnym na H+ by działało.
H+ jest domyślnie włączone - i tak jest do czasu ustawienia H- ...
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
A nie możesz dać WideString ?
właśnie w tym problem, że właściwość CommandText jest ustawiona na zwykły string. dostępu do źródeł nie mam niestety.
wyrabiając się w 255 znakach też bym sobie jakoś poradził, ale wydajność byłaby już nie ta sama.
to chyba kwestia turbo delphi, w normalnym sie tak nie dzieje ... sprobuj przypisywac tekst zapytania w ten sposob:
costam.CommandText := 'czesc 1, ponizej 255 znakow' + 'reszta tekstu';
A nie możesz dać WideString ?
WideString to string do przechowywania tekstu unicode. Wiec to nie ma nic do rzeczy ...
mam problem dotyczący zapytań mysql w delphi. korzystam z dbexpress + turbo delphi 2k6. gdy tworzę zapytanie (dość długie), w którym liczba znaków przekracza 255 otrzymuję error. czy da się to jakoś obejść?
tak oczywiscie ze mozesz obejsc.
1. stringlist
2. w Mysql ustwaw pole na text
tak oczywiscie ze mozesz obejsc.
1. stringlist
2. w Mysql ustwaw pole na text
a można jaśniej?:D
@migajek: jak tak łączę stringa to też mi wywala błąd a kursor przeskakuje do końca pierwszego z łączonych.
Użytkownik czychacz edytował ten post 19 maj 2009, 07:13
@migajek: jak tak łączę stringa to też mi wywala błąd a kursor przeskakuje do końca pierwszego z łączonych.
to sprobuj tak:
var q: string; begin q:= 'tekst1 ... bla bla, dajmy na to 200 znakow' + ' reszta zapytania, nie wiecej jak 200' + 'itp itd... '; costam.commandText:= q;
jak to sie nie uda - sprobuj tak:
costam.commandText:= 'czesc 1'; costam.commandText:= costam.commandText + 'czesc 2';
Przecież to normalne, że w delphi string może mieć tylko 255 bajtów. Do długich napisów używa się ansistring lub pchar.
migajek - ty chyba pisałeś w delphi i nie wiesz o tym?
Użytkownik Radek edytował ten post 20 maj 2009, 01:19
a można jaśniej?:D
Czego nie rozumiesz? Zamiast string daj StringList.
Przecież to normalne, że w delphi string może mieć tylko 255 bajtów. Do długich napisów używa się ansistring lub pchar.
string - w Delphi dla win32 string jest równoważny z AnsiString (chyba że ustalisz inaczej, dyrektywą {$H-}). (dla odmiany, pod .net string = WideString)
a pchar ma się do stringa jak ... ;) pchar to wskaźnik na adres pierwszego znaku tzw null-terminated string. Czyli ciągu zakończonego znakiem #0
więc zanim się wypowiesz na temat którego nie jesteś pewien to sprawdź co piszesz.
a pchar ma się do stringa jak ... ;) pchar to wskaźnik na adres pierwszego znaku tzw null-terminated string. Czyli ciągu zakończonego znakiem #0
Gdybyś pisał w c to nie mówiłbyś "a pchar ma się do stringa jak..." :)
string - w Delphi dla win32 string jest równoważny z AnsiString (chyba że ustalisz inaczej, dyrektywą {$H-}).
Co nie zmienia faktu, że jest to tylko ustawienie kompilatora i musi być ustawione w pliku konfiguracyjnym na H+ by działało.
Gdybyś pisał w c to nie mówiłbyś "a pchar ma się do stringa jak..." :)
w tym temacie rozmawiamy o delphi. oczywiście, nie napisałem tego w powyższym zdaniu, uznałem to za zbyt oczywiste...
Co nie zmienia faktu, że jest to tylko ustawienie kompilatora i musi być ustawione w pliku konfiguracyjnym na H+ by działało.
H+ jest domyślnie włączone - i tak jest do czasu ustawienia H- ...