ďťż

95034_1

Lemur zaprasza

Strona: [  >  ]  z  1     










Autor
Temat: Gdzie się błąd kryje...??











Antek







Typ:
neutral

Postów: 11

Zarejestrowany: Mar 2005





Gdzie się błąd kryje...??


Komunikat błędu podczas otwierania strony asp w explorerze:

Typ błędu:
Microsoft VBScript - błąd kompilacji (0x800A0409)
Brak zakończenia stałej znakowej
/northDB/formulaire.asp, line 20, column 614
sql = "SELECT [publikacje].[tytul], [publikacje].[rok], [publikacje].[informacje], [typ].[nazwa] AS typ, [autorzy].[nazwisko] & ' ' & [autorzy].[imie] AS autor FROM typ INNER JOIN (publikacje INNER JOIN (autorzy INNER JOIN autorzy_publikacje ON [autorzy].[ID_Autor]=[autorzy_publikacje].[F_Autor]) ON [publikacje].[ID_Publikacja]=[autorzy_publikacje].[F_Publikacja]) ON [typ].[ID_Typ]=[publikacje].[F_Typ] WHERE ((([publikacje].[rok])='" & Request.QueryString("[forms]![Formulaire]![rok]" )& "') And (([autorzy].[nazwisko] & ' ' & [autorzy].[imie])='" & Request.QueryString("[forms]![Formulaire]![autor]" )& "'))








12-04-2005 11:56



 
  














Antek







Typ:
neutral

Postów: 11

Zarejestrowany: Mar 2005





Poprawka


Wiem gdzie znajduje się błąd, ale nie wiem jak to powinno wyglądać poprawnie...







15-04-2005 10:13



 
  














karolinavb







Typ:
neutral

Postów: 467

Zarejestrowany: Jan 2003







Ponieważ nie bardzo mam jak to zamodelować, powiedz gdzie jest ten błąd, czy tkwi on tutaj:
[forms]![Formulaire]![rok] ?



_____________________________________________
Karolina






15-04-2005 11:13



 
  














Antek







Typ:
neutral

Postów: 11

Zarejestrowany: Mar 2005







Tak to jest w przedostatniej linice.







16-04-2005 18:34



 
  














karolinavb







Typ:
neutral

Postów: 467

Zarejestrowany: Jan 2003







Antku

Napisałes "tak", rozumiem, że tutaj tkwi błąd:

[forms]![Formulaire]![rok]

([publikacje].[rok])='" & Request.QueryString("[forms]![Formulaire]![rok]" )& .....

więc teraz moje pytanie brzmi:
jakiego typu jest pole ([publikacje].[rok] ?

bo wyrażenie Twoje moim zdaniem napisane jest tak jakby u Ciebie pole rok było typu tekstwego. Jeśli jest to pole numeryczne wyrażenie

Request.QueryString("[forms]![Formulaire]![rok]" )

powinno być bez znaków apostrofu (nie poprzedzone i nie zakończone)

czyli    '

na początku i na końcu

na końcu tego całego wyrażenia brakuje też  cudzysłowu, ale to wiesz ?


[Post edytowany dnia 16-04-2005 19:39 przez karolinavb]


_____________________________________________
Karolina






16-04-2005 19:34



 
  














Antek







Typ:
neutral

Postów: 11

Zarejestrowany: Mar 2005







Droga Karolinko
Dziękuję ogromnie za zainteresowanie moim problemem i udzielone i rady Co do typu pola [publikacje].[rok] to jest ono liczbowe i dokonałem zmian tak jak mi napisałaś wyżej. Dodałem również cudzysłów na samym końcu liniki. Niestety pojawił się kolejny błąd...

Typ błędu:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Sterownik ODBC Microsoft Access ] Zbędny ) w wyrażeniu kwerendy '((([publikacje].[rok])=) And (([autorzy].[nazwisko] & ' ' & [autorzy].[imie])=''))'.
/northDB/formulaire.asp, line 22

Rozumiem, że jest o jeden zbędny nawias ) za dużo i w komunikacie go widzę. Jednak w źródle już go nie dostrzegam i nie widzę żadnego zbędnego nawiasu...

((([publikacje].[rok])=" & Request.QueryString("[forms]![Formulaire]![rok]" ) & " ) And (([autorzy].[nazwisko] & ' ' & [autorzy].[imie])='" & Request.QueryString("[forms]![Formulaire]![autor]" )& "'))







18-04-2005 10:07



 
  














karolinavb







Typ:
neutral

Postów: 467

Zarejestrowany: Jan 2003







Antku

Tak się wydarzy jeśli wyrażenie:

Request.QueryString("[forms]![Formulaire]![rok]

będzie puste wówszas w stringu są puste znaki zamiast liczby i nawias
i chyba analogicznie

Request.QueryString("[forms]![Formulaire]![autor]

tylko zostają 2 apostrofy i potem zostają 2 nawiasy.

Należy wyeliminować taki przypadek informując użytkownika, że te pola są puste przed wykonaniem zapytania.

Takie jest moje zdanie i chyba zwykła praktyka po wypełnieniu formularza nie tylko na www.
Jeśli natomiast użytkownik może pozotawić te pola puste należy opracować różne wersje zapytania, osobne, bądź wbudować klauzule IF.
Przy czym ta 1-sza wersja wydaje się bardziej prosta przy braku wprawy i nie tylko wtedy, zwłaszcza gdy string SQL jest długi.


[Post edytowany dnia 18-04-2005 10:32 przez karolinavb]


_____________________________________________
Karolina






18-04-2005 10:25



 
  














Antek







Typ:
neutral

Postów: 11

Zarejestrowany: Mar 2005







Karolino
Zrobiłem formularz, w którym uzytkownik nie może pozostawić pustego pola, chociaż jest puste na początku. Niestety orłem jeszcze nie jestem jeżeli chodzi o te sprawy i nie moge znaleźć tego miejsca gdzie pozostawić dwa apostrofy i dwa nawiasy...

Pozdrawiam mi życze miłego dzionka







18-04-2005 11:05



 
  














karolinavb







Typ:
neutral

Postów: 467

Zarejestrowany: Jan 2003







Antku
Nawet jeśli zrobiłeś ten formularz poprawnie to wyraźnie moim zdaniem widać, że

Request.QueryString("[forms]![Formulaire]![rok] - jest puste

oraz
Request.QueryString("[forms]![Formulaire]![autor]" ) - jest puste

Być może jest jakaś inna przyczyna,że te wyrażnia w momencie wykonywania kwerendy są puste bo moim zdaniem jeśli te wyrażenia nie są puste liczba nawiasów jest dobra, może się mylę, ale tu:

=) jest brak liczby roku !!!!!!!!!!!

a tutaj 

='')) sa 2 apostrofy, a nie cudzysłów więc brak jest stringu autor ?
O ile to ostatnie powoduje, że jest poszukiwane puste pole, o tyle brak roku jest przyczyną tego nawiasu za znakiem równości.


((([publikacje].[rok])=) And (([autorzy].[nazwisko] & ' ' & [autorzy].[imie])=''))

Może przed wejściem do Kwerendy wyświetl sobie treść ostateczną tej kwerendy jak zwykły string i zobacz wartości tych 2-ch wyrażeń.


[Post edytowany dnia 18-04-2005 11:41 przez karolinavb]


_____________________________________________
Karolina






18-04-2005 11:31



 
  














Antek







Typ:
neutral

Postów: 11

Zarejestrowany: Mar 2005







Karolino
A może byłaby taka możliwość żeby przesłać Ci moją bazkę i rzuciłabyś okiem dlaczego tak się dzieje i co zrobić, aby działało to poprawnie w asp?







18-04-2005 11:48



 
  














karolinavb







Typ:
neutral

Postów: 467

Zarejestrowany: Jan 2003







Przesłać możesz oczywiście, zawsze chętnie ogladam cudze prace, lecz nie obiecuję, że znajdę czas wcześniej niż w sobotę, chyba, że uda mi się to poprawić "w pierwszym podejściu".
No i mam Office XP.


[Post edytowany dnia 18-04-2005 12:21 przez karolinavb]


_____________________________________________
Karolina






18-04-2005 12:17



 
  














Antek







Typ:
neutral

Postów: 11

Zarejestrowany: Mar 2005







Karolina to bardzo solidna firma, na którą można liczyć!! Bardzo mi pomogła i cierpliwie wytłumaczyła pewne sprawy.







20-04-2005 18:46



 
  














Antek







Typ:
neutral

Postów: 11

Zarejestrowany: Mar 2005







Karolina to bardzo solidna firma, na którą można liczyć!! Bardzo mi pomogła i cierpliwie wytłumaczyła pewne sprawy.







20-04-2005 18:47



 
  













Wszystkich odpowiedzi: 12 :: Maxymalnie na stronę: 20










Strona: [  >  ]  z  1     
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • teen-mushing.xlx.pl
  • Wątki
    Powered by wordpress | Theme: simpletex | © Lemur zaprasza