Frage

Ich habe ein Problem, das gerade passiert begann, nachdem ich meine Website-Server neu installiert.

In der Vergangenheit konnte ich dies tun:

Code:

<% 
set msgSet = conn.execute("select * from base_scroller where scroller_num = 1" 
%>

prüfen, ob es nicht leer oder irgendetwas anderes

ist

Code:

<% if msgSet("scroller_name") <> "" then %>

, und wenn es mich mit ihm nichts tun könnte (wie zeigt es Wert)

Code:

<%= msgSet("scroller_name") %>
<% end if %>

Jetzt kann ich dies nicht tun, das „wenn“ Test mit dem „msgSet funktioniert nicht (“ scroller_name „)“ und ich habe es redifine erste in einer anderen Variablen

Code:

<% scrollername = msgSet("scroller_name") %>

dann und nur dann kann ich Tests auf sie ...

Code:

<% if scrollername <> "" then %>

und zeigt es auch.

<%= scrollername %>
<% end if %>

Ich möchte nur die Möglichkeit, um wieder die Operationen an den mysql-Cord-Variablen wie b4 zu tun ....

Hat über dieses Problem jemand kommen? was sich geändert hat, ist es eine falty mysql varsion oder so etwas?

Danke Jungs.

Keine korrekte Lösung

Andere Tipps

Es gibt zwei Dinge, die Sie tun, sollten Sie einen Wert in einem Feld haben, um sicherzustellen:

  1. Stellen Sie sicher, dass der Re-Cord nicht leer ist.
  2. Stellen Sie sicher, dass das Feld in der aktuellen keinen NULL-Wert hat.

Ich bin nicht weg von irgendwelchen Änderungen der Fahrer, dass Ihr Code betroffen, aber ich nehme an, der Unterschied ist, dass die Zeichenfolge tatsächlich einen leeren String zurück (das entspräche „“) und Ihr Cord einen richtigen NULL Wert zurückgegeben wird ( das ist nicht gleich "")

Weitere Informationen:

meine odbc ist. Mysql 5.1-Treiber

Meine MySQL-Version: MySQL-Server 5.0

mein Connetion-String ist:

Ich habe versucht, die STMT = SET CHARACTER SET hebräisch zu entfernen; OPTION = 3; Teil - keine Änderung ...

das Problem aller Variablen direkt aus dem db verwendet, könnte es jede Art von variabel sein (Text, Datum, int) ...

noch

Tag (msgSet ( "scroller_date")) nicht funktioniert jetzt ...

und th lustig das ist ... es ist alles gut zu funktionieren verwendet .. b4 die Installation

Sie sehen etwas aus dem Üblichen heraus? vielleicht eine andere mysql / ODBC Version?

Ok ...

  1. Die neue odbc ist 5.1: sich auf den mysql.com Servern (Link: http://dev.mysql.com/downloads/connector/odbc/5.1.html )

  2. Ja. Ich habe das Betriebssystem (Windows Server 2003) wieder auf meinem Webserver neu installiert und MySQL-Server 5.0 auf es installiert ist.

  3. Ich bin nicht einen Fehler bekommen, ist es einfach keine Daten zurückgegeben, wenn ich die Methode verwende ich abourt erklärte, und ich habe die zusätzlichen Variablen verwenden, wie ich erklärt.

Haben Sie benötigen mehr Details bitte?

Es könnte eine bessere Art und Weise zu testen, um zu prüfen, ob der Re-Cord in einer alternativen Weise leer ist.

ich in der Regel verwenden:

On Error Goto 0

set msgSet = conn.execute("select * from base_scroller where scroller_num = 1" 

If msgSet.EOF = True And msgSet.BOF = True Then
  Response.Write "Recordset cursor was at the beginning and end of file - empty set."
  Response.End
End If

Dies könnte eine gewisse Art und Weise zu debuggen es helfen.

Oh, und etwas, das wichtig sein könnte. Ich kann mich nicht erinnern, was es verursachte, aber manchmal fand ich, dass, wenn Referenzierung MySQL Felder über einen Re-Cord, es war immer niedriger Fall, unabhängig davon, was die Felder in der Datenbankdefinition oder Abfrage.

Wenn dies verursacht nicht das Skript zum Scheitern verurteilt, vielleicht versuchen herauszufinden, was von dem Re-Cord zurückgegeben wurde.

Dim i

For Each i In msgSet.Fields
  Response.Write i & "=[" & msgSet.Fields(i) & "]<br />"
Next

Viel Glück

das Problem nie zuvor gesehen, noch bin ich sicher, warum (weitere Informationen über den Fehler wären hilfreich) - aber als relativ schnelle Lösung Sie können den Artikel werfen, wenn Sie es verwenden. Wie:

   <%= cStr(msgSet("scroller_name")) %>

Siehe http://www.w3schools.com/vbscript/vbscript_ref_functions.asp# Umwandlung für weitere Informationen.

Weitere Informationen über die Fehler, den Sie bekommen würde Ihnen helfen, eine bessere Antwort zu bekommen. Es gibt keine MyODBC 5.1, so die Version der MyODBC-Treiber verwenden Sie? Mit "mein odbc ist: mysql 5.1-Treiber". Meinen Sie den Treiber für MySQL 5.1 - die MyODBC 3.51 sein sollte

Auch durch „nachdem ich meine Website-Server neu installiert“ meinen Sie Sie eine saubere des Server-Betriebssystem installiert haben? oder hast du gerade neu installieren MySQL? Oder etwas anderes? 5.1 MySQL kam gerade heraus 8. Dezember - das war Teil eines Upgrades

Schließlich bitte einige der Kommentare zu Ihrer Frage und einige Ihrer Antworten lesen. Ceteris paribus, wenn es eine Klarstellung erforderlich ist, bearbeiten Sie die Frage um die Details hinzuzufügen. Keine Antwort schreiben. Dies ist kein Forum, und du bist Antwort wird seinen Kontext die Minute etwas verliert, ist bis über ihn gestimmt. Auch ist es einfacher, die in der gesamten Ausgabe zu nehmen, wenn seine alle an einer Stelle im Gegensatz zu zwischen der Frage Scrollen und den verschiedenen Nachträgen sich als Antworten.

Ich erhalte das gleiche Problem ... Nur die Migration eine asp-Website von MySQL 4 & odbc 3.x (eine alte Version ...) 5.1 MySQL und 5.1 ODBC. Wenn ich diesen einfachen Code versuchen:

set rs = conn.Execute ( "wählen ....") während nicht rs.eof   response.write "t1:" & rs ( "text") & "
T2:" & rs ( "text") & "
"   rs.MoveNext wend

als Ausgabe erhalte ich die folgenden: t1: hallo t2: t1: Wie geht es Ihnen t2: etc ...

Das zweite Mal, dass ich auf das Feld zugreifen es keinen Wert hat, ist die einzige Möglichkeit, eine temporäre Variable zu verwenden, um die Daten zum ersten Mal zu speichern ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top