Προς το περιεχόμενο

MS SQL και ελληνικά


dimoss

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας,

 

Έχω ένα παράξενο πρόβλημα με μια εφαρμογή που έχω φτιάξει για αναζήτηση βάσει κριτηρίων (δημιουργία ενός @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 είναι...http://www.tabletennis.gr/asep/te/

 

Ευχαριστώ προκαταβολικά.

 

Υ.Γ. Να σημειώσω επίσης ότι δοκίμασα να βάλω και το περιβόητο N

για παράδειγμα

If Request.Form("nomarxia") <> "0" THEN WhereString = WhereString & " AND te.nomarxia = Ν'" & Request.Form("nomarxia") & "'" END IF

 

...αλλά τίποτε..

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...