Autor Thema: Ansicht nur zur Ansicht ????  (Gelesen 1373 mal)

KST

  • Gast
Ansicht nur zur Ansicht ????
« am: 28.04.02 - 18:38:40 »
Hallo Notesgurus,

kann man ein SQL-Query (über ODBC) direkt in einer Ansicht anzeigen lassen ???

Zur Zeit gehe ich diesen Weg:

Ich greife per ODBC auf einer Access Datenbank zu, und weise den Items einer Maske die Results zu.
Das Problem ist jedoch, dass erst einmal ALLE Datensätze eingelesen und geschrieben werden, das dauert zu lange!!!

Gibt es nicht die Möglichkeit, die einzelnen Results der Spalten (einer Ansicht) zuzuweisen ????



HILFE.....

???
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline cpo

  • Aktives Mitglied
  • ***
  • Beiträge: 176
  • Geschlecht: Weiblich
  • ...nichts wissen macht auch nichts!
Re: Ansicht nur zur Ansicht ????
« Antwort #1 am: 29.04.02 - 19:32:41 »
Hi KST,

ich glaube, das sieht schlecht für Dich aus :'(

Ansichten zeigen üblicherweis Werte aus Dokumenten, und nicht dynamisch herbeigezauberte.

Um die Performance zu verbessern kannst Du nur Dein Script optimieren (z.B. die Dokumente im backend erzeugen, beim Zugriff auf das resultset NICHt erstmal zum letzten Datensatz hüpfen um zu zählen usw.)
Oder Du schreibst die Ergebnisse nicht in einzelne Doks sondern in ein Dokument (Höllenarbeit bei der formatierung  >:() oder Du schreibst das ganze als HTML weg und erzeugst nachher ein Notes-Dok wo Du die Datei im Body-Feld anzeigen läßt...

Kommt halt drauf an, ob Du in Notes die Daten einzeln zum Kategorisieren usw. brauchst oder nur mal schnell eine ad-hoc-Abfrage brauchst...

CPO
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Silvio

  • Aktives Mitglied
  • ***
  • Beiträge: 113
  • Geschlecht: Männlich
  • für jedes Problem gibt es eine Lösung (W.v.B.)
Re: Ansicht nur zur Ansicht ????
« Antwort #2 am: 30.04.02 - 17:41:22 »
Such in der Designer-Hilfe nach 'SetParameter'. Damit soll es möglich sein Variablen im SQL String einzufügen.
Hat bei mir nicht funktioniert >:( aber ev. bei dir ;)

Silvio
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Gruss aus der Schweiz
Silvio
IBM Certified System Administrator
Lotus Notes and Domino 8.5

Offline Silvio

  • Aktives Mitglied
  • ***
  • Beiträge: 113
  • Geschlecht: Männlich
  • für jedes Problem gibt es eine Lösung (W.v.B.)
Re: Ansicht nur zur Ansicht ????
« Antwort #3 am: 01.05.02 - 12:01:28 »
schau mal, hiermit kannst du wenigsten gezielt die DB per SQL abfragen. Das Resultat in temporäre Dokumente speichern und in der Ansicht anzeigen. Habe den Code selbst zusammen gefummelt und funktioniert inklusive dyn.- Varibalen.
WICHTIG:
Im SELECT String ist ALLES CASESensitiv !!! (Tabellenname, Feldnamen etc.)
Für den Zugriff auf SQL Server sind dessen SELECT konventionen zu beachten/verwenden.
z.B. verwendet MS-ACCESS für Joker *, der MS-SQL2000 Server aber % -> OnLinehilfe des SQL Servers lesen !!
Die Methode ODBCResultSet.SetParameter nicht verwenden -> buggy ??

Sub Click(Source As Button)
     Dim con As ODBCConnection
     Dim qry As ODBCQuery      
     Dim result As ODBCResultSet
     Dim firstName As String, lastName As String
     Dim msg As String, rows As Long, i As Long
     Dim defaultQuery As String
     
     Set con = New ODBCConnection
     Set qry = New ODBCQuery
     Set result = New ODBCResultSet
     con.ConnectTo( "DWHSQL" )
     Set qry.Connection = con
     Set result.Query = qry
     defaultQuery = "SELECT * FROM DW_COM_ADDRESSES"
     qry.SQL = defaultQuery
     
     dmy = "90%"
     dmy = "'" & dmy & "'"
     
'      defaultQuery = "SELECT Name, ZipCode, City FROM DW_COM_ADDRESSES WHERE (City Like 'St.%') AND (ZipCode Like '90%' ) ORDER BY Name ASC"
     defaultQuery = "SELECT Name, Address, ZipCode FROM DW_COM_ADDRESSES WHERE (ZipCode Like " & dmy & " ) ORDER BY ZipCode ASC"
     qry.SQL = defaultQuery
     
     Call result.Execute()
     
     If result.IsResultSetAvailable Then
           msg = result.GetValue( "Name", firstName ) & Lf
           Do
                 Call result.NextRow
                 msg = msg & result.GetValue( "Name" )
                 msg = msg & ", " & result.GetValue( "ZipCode" ) & Lf
                 msg = msg & ", " & result.GetValue( "City" ) & Lf
           Loop Until result.IsEndOfData
           Messagebox msg,, "folgnde Einträge in Spalten gefunden:"
     Else
           Msgbox "Cannot get ODBCResultSet for :" & Lf & qry.SQL
     End If      

     Call result.Close( DB_CLOSE )
     Call con.Disconnect
     
End Sub

Weiss einer wie die das ganze nicht von der GROSS/klein Schreibung, also caseINsensitive gemacht werden kann?

viel Erfolg, Gruss
Silvio
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Gruss aus der Schweiz
Silvio
IBM Certified System Administrator
Lotus Notes and Domino 8.5

KST

  • Gast
Re: Ansicht nur zur Ansicht ????
« Antwort #4 am: 01.05.02 - 13:01:35 »
:(

Danke erstmal für die Antworten,

da muss ich wohl weiter mit meiner Methode leben!

Naja, das Leben geht weiter   ;)

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz