[asp] Problem mit Datum und Datenbankeintrag

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [asp] Problem mit Datum und Datenbankeintrag

    Hi, habe folgendes Problem:

    Es geht um einen Terminplaner. Ich bekomme von einem Formular ein Datum, von, bis, Kommentar.

    Um ständig wiederkehrende Ereignisse beim Eintragen zu vereinfachen habe ich mir gedacht noch abzufragen ob es einmalig, wöchentlich, zweiwöchentlich ... sein soll und für wieviele Wochen das gelten soll.
    Das Skript soll dann z.B. für die nächsten 10 Wochen jede den Termin eintragen.

    Dazu habe ich ich For Schleife eingefügt. Was darunter unter else steht ist die Standartfunktion für das eintragen eines Termins, welche auch super funktioniert.

    Wenn es aber um wiederkehrende Ereignisse geht klappt gar nix. Irgendwie steckt da ein Fehler in dem SQL Insert Befehl. Möglicherweise kommt er nicht mit der Datumsvariable dar. Unten (unter else) nutze ich einfach den übergebenen Datumsstring, in der for-Schleife habe ich das Datum aber in ein VB Datum konvertiert und z.B. 1 Woche drauf gerechnet.

    Will ich das testen, erhalte ich entweder "Diese Seite kann nicht dargestellt werden (auf dem Webserver) bzw nur eine weiße Seite ohne jegliche Fehlermeldungen (Testserver) und es wird nix eingetragen.

    Wo könnte der Fehler stecken?

    Code:
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open "File Name=" & Server.MapPath("termine.udl")
     				  
      'Mehrfachschleife zum Eintragen wiederkehrender Ereignisse 
     				 		 
    Dim Temp, strDatum, art, anzahl, wert, durchf, i
    strDatum=Request("datum")
    art=cint(Request("regel"))
    anzahl=cint(Request.QueryString("wochen"))
    	
    strDatum2 = CDate(strDatum)   'Hier wird der Datumsstring in einen VB Datumswert konvertiert
     	
     	if art=0 then wert = 0
     	
     	if art=1 then wert = 7
    
     	if art=2 then wert = 14
    
     	if art=3 then wert = 21
    
     	if art=4 then wert = 28
    
     	
    if art > 0 then
      durchf = (anzahl \ art)
      for i=1 to 1 'durchf
                if i > 1 then
     	  strDatum2 = DateSerial(Year(strDatum2),Month(strDatum2),Day(strDatum2)+wert)
     		  
    	  strDatum2 = cstr(strDatum2)
     		  
                end if
     		
    '====  Hier noch den Fehler finden!!!!! =======
    
    set RS1 = conn.execute("SELECT count(*) FROM " + Request.QueryString
        ("bereich") + " WHERE datum='" + Request.QueryString("strDatum2") + "' 
         AND #" & DateAdd("n",1,Request.QueryString("von")) & "# BETWEEN von AND bis")
      			     
    set RS2 = conn.execute("SELECT count(*) FROM " + Request.QueryString
        ("bereich") + " WHERE datum='" + Request.QueryString("strDatum2") + "' 
        AND #" & DateAdd("n",-1,Request.QueryString("bis")) & "# BETWEEN von AND bis ")
      			  
    if (( RS1(0) = 0 ) and (RS2(0) = 0) )  then
      			     
    set RS = conn.execute("INSERT INTO " + Request.QueryString("bereich") 
        + " VALUES('" + Request.QueryString("strDatum2") + "',#" + 
        Request.QueryString("von") + "#,#" + Request.QueryString("bis") 
        + "#,'" + Request.QueryString("S1") + "')")
      			     
    else
      Err = 777
    end if
      			
     next
     	  
    else 
     	 
    set RS1 = conn.execute("SELECT count(*) FROM " + Request.QueryString
        ("bereich") + " WHERE datum='" + Request.QueryString("datum")+ "' AND 
        #" & DateAdd("n",1,Request.QueryString("von")) & "# BETWEEN von AND bis")
      			     
    set RS2 = conn.execute("SELECT count(*) FROM " + Request.QueryString
        ("bereich") + " WHERE datum='" + Request.QueryString("datum")+ "' AND 
        #" & DateAdd("n",-1,Request.QueryString("bis")) & "# BETWEEN von AND bis ")
      			  
     if (( RS1(0) = 0 ) and (RS2(0) = 0) )  then
      			     
    set RS = conn.execute("INSERT INTO " + Request.QueryString("bereich") 
        + " VALUES('" + Request.QueryString("datum") + "',#" + 
        Request.QueryString("von") + "#,#" + Request.QueryString("bis") 
        + "#,'" + Request.QueryString("S1") + "')")
      			     
    else
       Err = 777
    end if
    
    end if


    Vielen Dank
    Sayon
    Zuletzt geändert von Sayon; 16.08.2004, 12:33.

  • #2
    Re: [asp] Problem mit Datum und Datenbankeintrag

    Original geschrieben von Sayon
    Sorry für die Breite
    dafür gibt es keine entschudigung. brich den code gefälligst um!
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      OffTopic:
      Sorry, aber mit dem Basic Code kann ich mich ganz und gar nicht anfreunden. if und end if ROFL, kein ; em Ende, das sieht ja aus wie Kraut und Rüben


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #4
        Da hast du deinen "Gefallen"


        Ich würde ja auch lieber mit was anderem arbeiten, aber kannst dir ja denken was es heißt "Erweiter mal das, was dein Vorgänger hier verzapft hat um den und den Punkt"


        Hab es auch ohne eure "Hilfe" gelöst. Kann geschlossen werden.
        Zuletzt geändert von Sayon; 16.08.2004, 12:51.

        Kommentar


        • #5
          Original geschrieben von Sayon
          Da hast du deinen "Gefallen"
          fein, denn sonst hat man echt keine Lust deinen Code zu lesen.

          Ich würde ja auch lieber mit was anderem arbeiten, aber kannst dir ja denken was es heißt "Erweiter mal das, was dein Vorgänger hier verzapft hat um den und den Punkt"
          Wer, muss das nicht? Es sei denn du fängst bei einer Fa. an, die gerade gegründet wurde

          Aber, wenn du dich scon über deinen Vorgänger beschwert, dann siehst deinen Code nochmals an. Der ist grauenvoll.
          Hab es auch ohne eure "Hilfe" gelöst. Kann geschlossen werden.
          Dann hast du ohnehin die Frage zu schnell gestellt, ohne dir gründlich Gedanken drüber gemacht zu haben.

          Kommentar


          • #6
            Dachte halt das einem hier generell geholfen wird und nciht erst wenn man total verzweifelt ist .

            Jeder gerät irgendwo an den Punkt wo er vor der Wahl steht entweder jemand anders zu fragen, weiterrumzuprobieren oder halt aufzugeben.

            Ich hab ersteres gewählt um die dadurch gesparte Zeit sinnvoller zu vertun. Allerdings musst ich dann doch auf Variante 2 umsteigen...

            Gruss
            Sayon

            Kommentar


            • #7
              hmm,

              OffTopic:
              vielleicht will man dir nur zeigen, daß die variante des 'weiterrumzuprobieren' in den meisten fällen die effektivste ist.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Original geschrieben von Sayon
                Dachte halt das einem hier generell geholfen wird und nciht erst wenn man total verzweifelt ist .
                Ja schon, aber nicht so wie du 's gerne hättest. Deine Mitarbeit ist dabei sehr wichtig.

                Jeder gerät irgendwo an den Punkt wo er vor der Wahl steht entweder jemand anders zu fragen, weiterrumzuprobieren oder halt aufzugeben.

                Ich hab ersteres gewählt um die dadurch gesparte Zeit sinnvoller zu vertun. Allerdings musst ich dann doch auf Variante 2 umsteigen...

                Gruss
                Sayon
                Tolle Entscheidung, einfach andere für dich den Kopf zerbrechen lassen. Sag mal, ist es deine Arbeit oder unsere?

                Kommentar

                Lädt...
                X