Ausführen des Befehls 'SET' in SQL vor SELECT

Folgendiese Frag, Ich muss etwas hinzufügen wie

SET LANGUAGE German;

vor meinemSELECT query. Ich führe die Abfrage in einer ASP / VBScript-Webumgebung aus, was mich meines Wissens im Grunde auf eine einzelne Abfrage gleichzeitig beschränkt. Wenn ich eine Abfrage wie -

SET LANGUAGE German; SELECT.....

Ich erhalte die Meldung "Keine Ergebnisse", da die zurückgegebenen "Daten" vom @ stammeSET Abfrage und nicht dieSELECT das folgt darauf.

Gibt es irgendetwas, was getan werden kann, um das @ auszuführeSET und dieSELECT zusammen in der ASP / VBScript-Umgebung?

UPDATE: Gemäß Lankymarts Vorschlag:

set rs = SERVER.CreateObject("ADODB.recordset")
rs.open sql, conn, 1, 2

Do While (rs.State = 0 Or rs Is Not Nothing)  // also tried: Do While (rs.State = 0 AND rs Is Not Nothing) 
 Set rs = rs.NextRecordset
Loop

do while not rs.eof
  response.write ...

UPDATE 2:
Jetzt, da das Problem mit dem geschlossenen Recordset behoben ist, erhalte ich immer noch keine Zeilen aus dem Haupt-Recordset. Dies ist mein VBScript-Code unten. Es gibt definitiv Ergebnisse (weil 21 / feb / 16 - war am Sonntag, und ich habe passende Datensätze dafür) - aber sie werden nicht angezeigt. Tatsächlich bekomme ich manchmal nicht die Ergebnisse, selbst wenn ich sie über SSMS anzeige - vielleicht ist das alles verwechselt mit den Sprachänderungen?

    sql = " SET LANGUAGE German; "
    sql = sql & " SELECT [tblstudentrakazot].studentid, firstname, lastname, tblRakezetSchedule.* FROM tblRakezetSchedule"
    sql = sql & " INNER join [tblstudentrakazot] on [tblstudentrakazot].scheduleID = tblRakezetSchedule.scheduleid "
    sql = sql & " INNER join tblstudents on [tblstudentrakazot].studentid = tblstudents.studentid"
    sql = sql & " WHERE CONVERT(int,scheduleday) = datepart(d,convert(datetime,'" & cleanSQL(planneddate) & "',103)) AND "
    sql = sql & " tblRakezetSchedule.rakezetID = " & CleanSQL(x_rakezetID)
    sql = sql & " ORDER BY replace(scheduletimefrom, ':', '')"

    response.Write("### " & sql)
    set rs = SERVER.CreateObject("ADODB.recordset")
    rs.open sql, conn, 1, 2

    Do While rs.State = 0 And Not rs Is Nothing
     Set rs = rs.NextRecordset
    loop 


    do while not rs.eof 
       ' we now proceed to loop through the actual result recordset : studentid, firstname etc... 

Übrigens: Bleibt die Sprache nach der Ausführung der Abfrage in Deutsch oder wird die Standardsprache wiederhergestellt?

Ich denke, was ich hier brauche, ist eine Spracheinstellung, deren Standardeinstellung TT / MM / JJJJ ist (wegen anderer Legacy-Anforderungen im System) und eine, die dasDATEFIRST ist Sonntag (1).

EBENFALLS Ich habe versucht, eine gespeicherte Prozedur als solche zu erstellen:

    ALTER PROCEDURE [dbo].[procListRakezetSlotsByDay] @planneddate nvarchar(10),  @rakezetID int

    AS
    BEGIN

        SET NOCOUNT ON;
        SET LANGUAGE German;

    SELECT [tblstudentrakazot].studentid, firstname, lastname, tblRakezetSchedule.* FROM tblRakezetSchedule
    INNER join [tblstudentrakazot] on [tblstudentrakazot].scheduleID = tblRakezetSchedule.scheduleid 
    INNER join tblstudents on [tblstudentrakazot].studentid = tblstudents.studentid
    WHERE CONVERT(int,scheduleday) = datepart(d,convert(datetime,@planneddate,103)) AND tblRakezetSchedule.rakezetID = @rakezetID
    ORDER BY replace(scheduletimefrom, ':', '')


    END

und dann starte es:

    DECLARE @return_value int

    EXEC    @return_value = [dbo].[procListRakezetSlotsByDay]
            @planneddate = N'28/2/2016',
            @rakezetID = 182

    SELECT  'Return Value' = @return_value

    GO

und auch hier gibt es keine Ergebnisse - auch innerhalb von SSMS ... Ich bin sehr verwirrt. danke an alle die bisher geholfen haben.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage