Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14
  1. #1
    CIH-Virus
    Registriert seit
    02.12.2007
    Beiträge
    420

    Standard Mssql Tutorials gesucht.

    Guten tag Freehack'ler

    Ich suche ein Online-Tutorial indem die funktionsweise der Syntax und alles was dazugehört erklärt wird.

    Um genauer zu sein suche ich Tutorials indem erklärt wird wie genau Stored Proceduren funktionieren.

    Ich habe ein C++ programm ( nicht den quellcode ) das mit Mssql arbeitet.
    Dieses Programm gibt Parameter an eine Procedure die dan verarbeitet werden.

    Ich versteh leider noch nicht wie z.b das ergebnis eines
    "SELECT column1, column2 FROM tabelle" an das Programm zurückgegeben wird.

    Es wäre sehr nett wen sie mir helfen würden.

    Mfg Yannick
    Geändert von YannicK (06.07.2009 um 08:34 Uhr)
    [B] Website hilfe (sql,programmierung,etc)
    [B] RAT Hilfe
    [B] Dienstleistung allerlei art

    [S] Alles

    Zitat Zitat von User
    hi nochmal ..

    ok hast recht aber wie sucht man den bei sufu ...
    kenn mich net so aus ..

    danke noch fürs tip

  2. #2
    NoClose Wurm
    Registriert seit
    21.03.2008
    Beiträge
    196

    Standard

    Du verbindest dich mit einem Admin Account auf den MSSQL Server und dann kannst du die stored procedures direkt ansprechen

    Den Syntax der einzelnen Funktionen findest du via google, z.b. http://www.mssqlcity.com/FAQ/Devel/xp_regread.htm

    Das schickst du einfach an den server:
    EXEC stored_procedure Argumente
    und der server antwortet dir dann mit einem rückgabewert... ganz einfach also.

    In deiner Signatur steht du kannst sql? Du wirst ja wohl wissen das man mit select dbs abfragen kann... das hat aber nichts mit stored procedures zu tun.

    Ich kenne nur einen tutorial für ADO (.NET oder VB6). Mit ADO ist es sehr einfach das alles zu machen...

  3. #3
    CIH-Virus
    Registriert seit
    02.12.2007
    Beiträge
    420

    Standard

    In Myssql zusammen mit php ist das ja sehr einfach den rückgabewert zu erhalten

    $row = mysql_fetch_assoc(mysql_query(SELECT * FROM tabelle));

    Nur ich versteh nicht wie dies in MSSQL abläuft.

    Zum glück schreibt das Programm einen Query log wen etwas fehlgeschlagen ist.
    Zum beispiel:
    queryROCEDURENAME 'parameter1','parameter2'

    Soweit ich weis ruft er die Procedure "PROCEDURNAME" auf und übergibt an die Procedure die parameter parameter1 und parameter2.

    Nun weis ich jetzt nicht genauer weiter wie ich diese parameter in eine variable schreibe.

    Würde das stimmen?

    @variable varchar(60), @variable2 varchar(60)

    ich würde jetzt davon ausgehen das parameter1 in @variable steht und parameter2 in @variable2 steht.

    Nun kann ich damit ja weiter arbeiten z.b
    SELECT column1, column2, column3 FROM tabelle WHERE column1 = @variable1 AND column2 = @variable2

    Die abfrage sucht ja jetzt nach den passenden daten und selectiert column1, column2 und column3.

    Nur wie gebe ich diese jetzt an das Programm zurück? wie genau nimmt das programm die rückgabe werte an?
    muss ich das ergebnis vom Select in eine variable schreibe die dan das programm annimmt z.b SET @rückgabe = column1

    Ich bin überfordert =(
    [B] Website hilfe (sql,programmierung,etc)
    [B] RAT Hilfe
    [B] Dienstleistung allerlei art

    [S] Alles

    Zitat Zitat von User
    hi nochmal ..

    ok hast recht aber wie sucht man den bei sufu ...
    kenn mich net so aus ..

    danke noch fürs tip

  4. #4
    NoClose Wurm
    Registriert seit
    21.03.2008
    Beiträge
    196

    Standard

    Was möchtest du überhaupt bezwecken? Willst du dir dein eigenes tool coden? welche Programmiersprache genau?

    Oder willst du t-sql programmieren?
    http://www.tsql.de/transact-sql/vari...-variablen.php

  5. #5
    CIH-Virus
    Registriert seit
    02.12.2007
    Beiträge
    420

    Standard

    Nein wie gesagt habe ich die Serverdaten eines MMOPRG da diese files auf einem ungesicherten FTP gelagert wurden.

    Nur leider war keine Datenbank dabei und diese möchte ich jetzt Selbst nachbauen.
    Die Server dateien sind in C++ geschrieben.
    Nur leider weis ich überhaupt nicht wie C++ mit den Storec Proceduren von Mssql kommuniziert btw. wie ich ergebnise an das C++ programm zurück gebe

    Ein beispiel ist der login

    Wen man sich einloggt übergibt er zwei parameter an die procedur XYZ wie die aber heisen weis ich nicht. aufjedenfall ist es der login name und das Passwort

    Er wird höchstwarhscheinlich in der Tabelle nach den userdaten suchen ob loginname und passwort übereinstimmen und diese gibt er dan glaub ich irgendwie zurück.
    [B] Website hilfe (sql,programmierung,etc)
    [B] RAT Hilfe
    [B] Dienstleistung allerlei art

    [S] Alles

    Zitat Zitat von User
    hi nochmal ..

    ok hast recht aber wie sucht man den bei sufu ...
    kenn mich net so aus ..

    danke noch fürs tip

  6. #6
    NoClose Wurm
    Registriert seit
    21.03.2008
    Beiträge
    196

    Standard

    Ich versteh dich zwar immer noch nicht richtig, aber ich glaube du hast hier eher ein Reverse Engineering Problem.

    Du hast Server Dateien von einem Spiel die eine MSSQL Server Datenbank benutzen und weisst nicht auf welche Datenbank Tabelle sie zugreifen? Also wie die Tabellen heissen müssen?
    -> Du kannst dir die Spiele Dateien in einem Debugger anschauen und die Daten "rausfischen".

    Wen man sich einloggt übergibt er zwei parameter an die procedur XYZ wie die aber heisen weis ich nicht. aufjedenfall ist es der login name und das Passwort

    Er wird höchstwarhscheinlich in der Tabelle nach den userdaten suchen ob loginname und passwort übereinstimmen und diese gibt er dan glaub ich irgendwie zurück.
    Also entweder du erklärst es hier mega schlecht oder du hast 0 Ahnung von allem.

    Die (in diesem Fall) Clients (deine gefundenen Dateien?) greifen auf den MSSQL Server zu? Beim Login wäre das doch eine ganz normale SELECT Abfrage (Wenn in der Serverdatenbank die Userdaten stehen).
    Also das Spiel fragt nach Userdaten... dann eine SELECT Abfrage an den MSSQL Server, wenn gefunden login erfolgreich?

  7. #7
    CIH-Virus
    Registriert seit
    02.12.2007
    Beiträge
    420

    Standard

    Du verstehst mich wohl etwas falsch.

    Wen ich mich zum Beispiel mit dem Username und Passwort einloggen will sende ich diese daten ja an den Server.

    Dieser ruft die Procedure (z.b) login auf.
    login 'username', 'password'

    Diese nehme ich ja in der Procedure mit dem code auf:

    Code:
    ALTER PROCEDURE [dbo].[login] 
        @username varchar(62),
        @password varchar(32)
    AS
    ....
    Richtig soweit?

    Wie ich dan mti select und so weiter arbeite weis ich
    SELECT bla,bla1,bla2 FROM account WHERE username = @username;

    Nur wie gebe ich dem Programm das Resultat zurück?
    Also hier zwei beispiele zu meiner frage:
    Er Ruft die Procedure auf um Account informationen zu laden select ...
    Wie gebe die Account informationen wieder zurück an das Programm damit er damit arbeiten kann?

    Beim login ist glaub ich Existieren die Account daten oder nicht?
    Also eine Procedure die ein Select macht und dan negativ/positiv zurückgibt

    Wie mache ich das?
    [B] Website hilfe (sql,programmierung,etc)
    [B] RAT Hilfe
    [B] Dienstleistung allerlei art

    [S] Alles

    Zitat Zitat von User
    hi nochmal ..

    ok hast recht aber wie sucht man den bei sufu ...
    kenn mich net so aus ..

    danke noch fürs tip

  8. #8
    NoClose Wurm
    Registriert seit
    21.03.2008
    Beiträge
    196

    Standard

    Dieser ruft die Procedure (z.b) login auf.
    Muss er nicht, er kann auch direkt eine SELECT Abfrage senden und das Ergebnis selber auswerten. Je nachdem wie das c++ programm programmiert ist.


    Also willst du doch was in TSQL machen?
    google einfach nach tsql tutorial

    Code:
    CREATE PROCEDURE login(@username varchar(255), @pw varchar(255)) AS
    DECLARE @result int
    
    IF blabla SET @result = 1 
    
    return @result
    so viel ich noch weiss gibts in mssql kein boolean... Musst halt wissen welcher rückgabewert dein programm haben möchte (debugger)

  9. #9
    CIH-Virus
    Registriert seit
    02.12.2007
    Beiträge
    420

    Standard

    Ich bedanke mich schonmal vielmals

    Ich werde mir jetzt ein paar Tut's durchlesen über TSQL

    Nur bleibt da noch eine frage und zwar:

    Wie wird das RETURN übergeben?
    Muss ich das in eine Bestimmte variable packen (die die exe annimmt)
    oder muss ich sie in einer reihen folge ausgeben?

    also z.b:
    RETURN meinname,meinpasswort,session
    oder
    RETURN meinname_variable,meine_session_variable,meinpassw ord_variable
    [B] Website hilfe (sql,programmierung,etc)
    [B] RAT Hilfe
    [B] Dienstleistung allerlei art

    [S] Alles

    Zitat Zitat von User
    hi nochmal ..

    ok hast recht aber wie sucht man den bei sufu ...
    kenn mich net so aus ..

    danke noch fürs tip

  10. #10
    NoClose Wurm
    Registriert seit
    21.03.2008
    Beiträge
    196

    Standard

    Um es noch mal klar zu stellen: Stored procedures wurden eigentlich erfunden um kompliziertes Zeug zu "kapseln" um es immer wieder aufzurufen. Dein Beispiel: login, ist kein komplizierter Sachverhalt. Das C++ Programm wäre besser dran wenn es einfach eine SELECT Abfrage sendet, anstatt dafür eine stored procedure verwendet.

    Aber falls dein C++ wirklich eine stored procedure verwendet sollte es so ablaufen:
    Verbinden auf den MSSQL Server, Befehl "EXEC LOGIN username passwort" schicken und auf Antwort warten. LOGIN wäre in diesem Fall die stored procedure die irgendein Rückgabewert liefert mit "RETURN Variable12".
    Der Server schickt dann den Rückgabewert der procedure an das C++ Programm. In dem C++ programm muss jetzt festgelegt sein, welcher Rückgabewert "login erfolgreich" oder "login fehlgeschlagen" bedeutet. Das C++ Programm erhält also nur als Serverantwort den Wert, der in der Variable12 steht, sonst nichts.

    Ohne Stored procedure würde es so ablaufen:
    Verbinden auf den MSSQL Server, Befehl "SELECT username, passwort FROM Login WHERE ......" schicken und auf Antwort warten. Die Antwort des Servers ist eben das Ergebnis der Select Abfrage...

    Was das C++ Programm als Antwort bzw. Rückgabewert haben will und was es an den MSSQL Server überhaupt schickt musst du WISSEN!
    Vielleicht will das C++ Programm bei erfolgreichem Login als Rückgabewert den Textstring "Käsekuchen"?
    Ich hoffe ich habe dir dein Problem jetzt gut dargestellt.

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •