Where Abfrage für Einzehlnde Werte

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von zn-gong.

    Where Abfrage für Einzehlnde Werte

    Hallo,

    ich habe da ein kleines Problehm, also: ich will ein Lizenz System auf ASP.NET Basis bauen. Dass Windows Programm soll einen Webdienst ansprechen der eine function endhält, die die Serien nummer Prüfen soll. Um es genauer auszudrücken. Es Soll sich um ein Boolean wert Handeln

    Hier der geplahnte aufruf der Function:

    VB.NET-Quellcode

    1. me.IsAktive(<Die Serien Nummer>)

    Als Andwort will ich dan eine False True Andwort bekommen.

    Hier die Datenbanck Tabelle als Hirahie:

    Serial : Die Seriennummer
    VerificationKey : Ein zusätzlicher Prüffschlel (Wird von mier Vergeben)
    Name : Der Vohrname (Mus bei ersteinrichtung eingegeben werden)
    Nachname : Der Nachname (Mus ebenfals beim ersten Start eingegeben werden)
    Aktiviert : Dass Datum wan die Software Aktiviert wurde
    IsAktive: Der Boolean wert der bei der Function zurikgegeben werden soll
    ID : Die ID Des Datensatzes (Wird Von MS-SQL Server genericht und hatt keine Function aktuell) (Hat den Primähr Schlüßel)
    ZN-ID: Die ID in meiner eigenen Software

    Die Software zur Verwaltung der Liezenzen ist kompett in ASP.NET, Dass zu Schützende Programm ist komplett in Winddows!

    Es geht in eigendlichen jetzt nur um die Where Abfrage.
    Die Abfrage lautet Serial <--> IsAktive.

    Danke für alle Andworten, und endschuldigung für den vielen Text, aber ich wollte halt auch die Struktur beschreiben um mölichst wenig Fragen aufkommen zu lassen!
    Wen Die Abfracke soh lauden sol, das abgefrackt wärden sol ob die Seriehennumer einem Mußter entspriecht UND "IsAktive" true seihn sol:

    SQL-Abfrage

    1. SELECT * FROM Tabelle WHERE Serial = 'xxxx-xxxx-xxxx' AND IsAktive = true (oder 1)
    2. SELECT * FROM Tabelle WHERE Serial = 'xxxx-xxxx-xxxx' AND IsAktive = false (oder 0)


    liehpe Krüse
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    fichz schrieb:

    Wen Die Abfracke soh lauden sol, das abgefrackt wärden sol ob die Seriehennumer einem Mußter entspriecht UND "IsAktive" true seihn sol:

    SQL-Abfrage

    1. SELECT * FROM Tabelle WHERE Serial = 'xxxx-xxxx-xxxx' AND IsAktive = true (oder 1)
    2. SELECT * FROM Tabelle WHERE Serial = 'xxxx-xxxx-xxxx' AND IsAktive = false (oder 0)


    liehpe Krüse


    Du musst natürlich aufpassen bei dieser Abfrage weil Dir alle Table-Rows/DataSets zurück geliefert werden die diesen Kriterien entsprechen. Damit wird es dann natürlich schwer einen eindeutige Aussage zu einem einzigen Zustand zu ermitteln wenn Dir z.B. 10 oder 15 Rows zurück geliefert werden von der SQL-Abfrage. Es wäre sinniger dafür die ID des Eintrages zu nehmen den der User bei der Anmeldung generiert hat.

    Ich verstehe jetzt aber gerade nicht was Du mit Muster meinst? Haben die Einträge in Serial unterschiedlichen Aufbau an Hand dessen Du dann Rückschlüsse auf Gültigkeit o.ä. ziehst?

    Falls ja, halte ich das für eine ungeschickte Lösung. Füge lieber noch ein weiteres Feld ein das einen eindeutigen Eintrag enthält. So sparst Du Dir ein relativ komplexes Abfrageschema auf die String-Zusammensetzung, was übrigens auch nicht performant wäre weil Du mit SQL-Funktionen arbeiten müsstes die sich pro Datensatz neu berechnen.

    Ich würde ja eher empfehlen falls Du tatsächlich mit dem String-Schema aus dem Feld Serial arbeiten willst, dass Du Dir nur die Row holst die den zu überprüfenden User beinhaltet (SELECT * FROM Tabelle WHERE ID = " & ID) und dann in einer Vb-Function die String-Prüfung durchführst. Das dürfte schneller und einfacher zu handeln sein als per SQL-Funktion eine String-Prüfung auf Zusammensetzung durchzuführen ... SQL ist dafür nicht wirklich gut geeignet.

    Gruß

    Rainer
    Ja, aber ich braucche die Abfrage ja in eienen Webservide drinen (ASMX), kann nich irgendwie die Abfrage aus Visual Basic vohrnehmen??
    Also, ich habe in Webdinst eine Function drinen, und die hat ein ByVal der den Product Key bzw den Eindeutigen Salt und den key übergiebt. und dan soll der datensatz gesuht werden und ein False / True zurick gegeben werden. (Je nach den ob es ihn giebt und ob ehr gültig ist. Das wird mit einen Bit Wert Ermittelt)