ďťż
 
Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] ďťż
 
Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ]
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ]



Borgson - 13-11-2006 00:46
Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ]
  Witam serdecznie.

Mam następujący problem i może ktoś z Was już się z tym sptokał.

Mam w bazie rekord który zawiera powiedzmy takie wartości :

/callcentreV4/payplanOctober2006-10-18\08009177829-1826049101.wav
/callcentreV4/payplanOctober2006-10-18\08009177829-1826049122.wav
/callcentreV4/payplanOctober2006-10-18\08009177829-1826049165.wav

Teraz problem, mam VBScript który pracuje na tych danych, gdy pobieram
te dane z MySQL'a i chcę je wyświetlić w zwykłym oknie CMD
wyświetla mi następujące dane :

/callcentreV4/payplanOctober2006-10-18 8009177829-1826049101.wav
/callcentreV4/payplanOctober2006-10-18 08009177829-1826049122.wav
/callcentreV4/payplanOctober2006-10-18 8009177829-1826049165.wav

Czyli tak jakby w miejsce '/0' pojawiła się ' '.
Próbowałem nawet wykonać taki myk żeby zamienić ten jeden ukośnik
'\' na '/' ponieważ tak naprawdę nie ma dla mnie znaczenia w którą
stronę on jest, niestety przy próbie wykonania zamiany otrzymuję
błąd :

d:\Logs\ww_logs.vbs(120, 3) Microsoft OLE DB Provider for ODBC Drivers:
You have
an error in your SQL syntax; check the manual that corresponds to your
MySQL se
rver version for the right syntax to use near
'/callcentreV4/payplanOctober2006
-10-18' at line 1

Tak więc jak widać w miejscu gdzie jest /0 urywa się zapytanie :(
Sprawdzałem np. to samo zapytanie w SQLYog, gdzie dawałem UPDATE ble
ble ble i wszystko działa prawidłowo, problem pojawia się gdy chcę
to zrobić poprzez VBScript albo przez ASP.

Czy ktoś może kiedyś się spotkał już z takim problemem i wie jak
go obejść :(

Pozdrawiam, Piotr





Mariusz c - 13-11-2006 00:46

  Borgson <mrquesti@wp.pl> napisał(a):

> Witam serdecznie.
>
> Mam nast=EApuj=B1cy problem i mo=BFe kto=B6 z Was ju=BF si=EA z tym sptoka=
> =B3.
>
> Mam w bazie rekord kt=F3ry zawiera powiedzmy takie warto=B6ci :
>
> /callcentreV4/payplanOctober2006-10-18\08009177829-1826049101.wav
> /callcentreV4/payplanOctober2006-10-18\08009177829-1826049122.wav
> /callcentreV4/payplanOctober2006-10-18\08009177829-1826049165.wav
>

Jedyne problemy jakie miałem, to opisane w dokumentacji MySQL'a znaki
związane z budową zapytania, ale to mi załatwia taka prymitywna procedurka,
która wkłada do danych zapytania (INSERT) właściwe znaki, nie zaburzając
analizy składni przez parser. W bazie lądują juz natywne znaki, więc nie ma
problemu z odczytem.
//************************************************** ******************
Function PrepMysqlStr(si : String): String;
var
i: integer;
begin
Result:=si;
if length(si)=0 then exit;
Result:='';
for i:=1 to length(si) do
begin
case si[i] of
#9:Result:=Result+'\t';
#10:Result:=Result+'\n';
#13:Result:=Result+'\r';
#39,'\':Result:=Result+'\'+si[i];
else
Result:=Result+si[i];
end;
end;
end;
//************************************************** ******************
W Twoim przypadku myślę, że jest tak:
odczyt \0 daje Ci nie spację, ale znak o kodzie 0 - prawdopodobnie VB tak
interpretuje sekwencję \0, a potem pewnie zamienia ją na spację przy
wyświetlaniu.
Z kolei ODBC, / i błąd składni - tu raczej wina ODBC - właśnie posprawdzałem
to u mnie - sam znak slash / ani z żadnym innym nie daje żadnych złych
efektów, wchodzi / i ten następny, czyli cyfra 0,1, itd. ale ja korzystam z
biblioteki libmysql.dll bezpośrednio i przez dbExpress.
Mój MySQL jest stary - 3.xxx.
Proste obejście, to jakaś unikalna sekwencja znaków, albo jeśli struktura
danych jest taka równiutka, to może sprawdzanie znaku na określonej pozycji
juz w VB, to chamskie ale drivera ODBC, ani interpretacji danych w VB raczej
nie poprawisz :(.
W ostateczności kolejna kolumna, ale to też chamskie...

Zobacz też to:
http://dev.mysql.com/doc/refman/4.1/...al-values.html
Może tego typu sztuczką to obejdziesz.
Mariusz

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Borgson - 13-11-2006 00:47

  Ok , znalazłem rozwiązanie problemu :)

UPDATE table SET `pole1` = replace(`pole1, '\0', '/0')

Podmienia mi wszystko w DB i sprawa załatwiona :)

Pozdrawiam, Piotr
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= String line; if (line=="cos"){...}....problem Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= [postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= [PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ? plik corel 11 na corel 8 = problem z otwarciem =?iso-8859-2?q?Oracle_Database_link_problem_z_po=B3=B1czeniem _ze_zdaln=B1_baz=B1?= SQL Server 2005: początkujący programista T-SQL ma problem ms sql 2000 i ms server 2003 problem z logowaniem
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lunadance.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com