Γεια σας,
Έχω ένα παράξενο πρόβλημα με μια εφαρμογή που έχω φτιάξει για αναζήτηση βάσει κριτηρίων (δημιουργία ενός @WhereString το οποίο περνάει με Session και "τραβάει" τα δεδομένα από μια βάση MS-SQL).
Ενώ όλα λειτουργούν κανονικά σε τοπικό επίπεδο (εννοώ στον τοπικό SQL SERVER), αφού κάνω import το table και την store procedure στον SQL του provider η εφαρμογή δεν δουλεύει βγάζοντας "Incorrect syntax" error.
- Το collation είναι το ίδιο και στις δύο βάσεις: Greek_CI_AS
- Οι κολώνες με κείμενο είναι τύπου: nvarchar
Παρακάτω σας δίνω τον κώδικα των:
1. Store Procedure:
CREATE Procedure sp_search
@WhereString nvarchar(500)
AS
Declare @SQL nvarchar(2500)
SELECT @SQL = ' SELECT * ' +
' FROM te ' +
' WHERE nomarxia is not null ' + @WhereString +
' ORDER BY pinakas ASC, entopiotita, m_total DESC, m_vathmos_ptixio DESC, m_2o_ptixio DESC, m_programa_oaed DESC, m_sinafes_phd DESC, m_all_phd DESC,
m_sinafes_master DESC, m_allo_master DESC, empeiria_total DESC, empeiria_50 DESC, m_glosses DESC, etos_ptixio ASC '
Exec (@SQL)
GO
2. Φόρμα
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1253"%>
<%Session.CodePage= 1253%>
<!--#include file="asep.asp" -->
<%
Session("WhereString") = ""
%>
<% Dim WhereString
If Request.Form("nomarxia") <> "0" THEN WhereString = WhereString & " AND te.nomarxia = '" & Request.Form("nomarxia") & "'" END IF
If Request.Form("klados") <> "0" THEN WhereString = WhereString & " AND te.klados = '" & Request.Form("klados") & "'" END IF
IF Request.Form("politeknos") = "1" THEN WhereString = WhereString & "AND te.politeknos = 'Ν'" END IF
IF Request.Form("palino") = "1" THEN WhereString = WhereString & "AND te.palino = 'Ν'" END IF
IF Request.Form("empeiria1") = "1" THEN WhereString = WhereString & "AND te.empeiria_total >= 1" END IF
IF Request.Form("empeiria0") = "1" THEN WhereString = WhereString & "AND te.empeiria_total = 0" END IF
WhereString = WhereString
Session("WhereString") = WhereString
If Request.Form("submit") <> "" THEN Response.redirect "list.asp"
%>
....και ακολουθεί μια normal φόρμα ή οποία κάνει action στην ίδια σελίδα
-----------------------------------------------------------------------------------------------
Τα παραπάνω δουλεύουν ρολόϊ τοπικά ενώ βγάζουν μήνυμα λάθους στο online
Microsoft OLE DB Provider for SQL Server error '80040e14'
Line 1: Incorrect syntax near 'Øì'.
/asep/te/list.asp, line 21
Από το μήνυμα καταλαβαίνω ότι κάτι τρέχει με τα ελληνικά, αλλά δεν μπορώ να καταλάβω τι...
Μήπως κάποιος μπορεί να βοηθήσει?
Το url είναι...www.tabletennis.gr/asep/te/
Ευχαριστώ προκαταβολικά.
Υ.Γ. Να σημειώσω επίσης ότι δοκίμασα να βάλω και το περιβόητο N
για παράδειγμα
If Request.Form("nomarxia") <> "0" THEN WhereString = WhereString
& " AND te.nomarxia =
Ν'" & Request.Form("nomarxia") & "'"
END IF
...αλλά τίποτε..
![Sad <img src=]()
">