Domino 9 und frühere Versionen > ND6: Entwicklung

Schreiben in eine SQL Table

(1/2) > >>

RonMat:
Hallo Gemeinde,
ich habe nachfolgenden Script geschrieben, dieser funtioniert auch- mit einer Ausnahme. Es wird in der Table das"Mailsentflag" nicht geschrieben. Kann mir an dieser Stelle Jemand weiterhelfen.
Im Notesscripting habe ich doch lediglich den updateRow - oder???

Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim docmail, Profile As NotesDocument
   Set Profile=session.CurrentDatabase.GetProfileDocument("EDI_Profile")
   ODBC_Name=profile.GetItemValue("ODBC_Con_Name")
   ODBC_Admin=profile.GetItemValue("ODBC_Admin")
   ODBC_PW=profile.GetItemValue("PW_ODBC")
   Superuser=profile.GetItemValue("Superuser")
   Set db = session.CurrentDatabase
   
   Dim con As New ODBCConnection
   Dim qry As New ODBCQuery
   Dim result As New ODBCResultSet
   Dim textmail  As String
   
   Set qry.Connection = con
   Set result.Query = qry
   '                                             
   If con.ConnectTo(ODBC_Name(0), ODBC_Admin(0),ODBC_PW(0)) Then
      qry.SQL = "SELECT MailText FROM EDISendMail where MailSent is NULL"
      
      result.Execute
      If result.IsResultSetAvailable Then
         Do
            result.NextRow
            textmail= result.GetValue("MailText")
            Call result.SetValue("MailSentFlag)", "Yes")
            result.UpdateRow
            msg = msg & Chr(10) & Textmail
         Loop Until result.IsEndOfData
         result.Close(DB_CLOSE)
      Else
         Exit Sub
      End If
      con.Disconnect
   End If
   
   'Mailversand
   
   
   Set docmail = db.CreateDocument
   Set docmail = New NotesDocument( db )
   docmail.Form="Memo"
   
   
   Call docmail.ReplaceItemValue( "SendTo", Superuser(0))
   Call docmail.ReplaceItemValue("Subject","EDI Report " & Today)
   Call docmail.ReplaceItemValue("Body",msg)
   Call docmail.ReplaceItemValue("ReportDate",Now)
   'Call docmail.Save(True,True)
   Call docmail.Send( False )
   

Wirsing:
Hmmm, ist die Klammer im Feldnamen von MailSentFlag beabsichtigt???

RonMat:
Nein, ist aus Versehen hineingerutscht. Habe sie im Script beseitigt und der Satz wird nach wie vor nicht upgedated. Aus MS Access kann ich die Felder bearbeiten und auch neue Werte eingeben. Also stimmen die Lese/Schreibrechte auch.
Ich verstehe es im Augenblick auch nicht, habe zwar mit ODBC nicht so viele Erfahrungen aber insgesamt sieht es von meiner Seite sauber aus. Danke für die Info

Wirsing:
Versuch mal diesen SELECT:

SELECT MailText,MailSentFlag FROM EDISendMail where MailSentFlag is NULL

Ich denke, dass das Feld, welches Du ändern möchtest auch in der Abfrage sein muss.

RonMat:
Hallo Wirsing, habe es probiert. Leider keinen Erfolg, ....es schreibt nicht. Vielleicht liegt es an den ODBC Treiber - obwohl ich die neuesten verwende. Ich suche weiter.....
Vielen Dank für Deine Ansätze

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln