tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
763
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kai_Jack Kai_Jack ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    159
    Hallo Freunde,
    ich brauche Hilfe, bin Anfänger. Ich möchte gerne aus einer Datenbank die ich mit MSSQL erstellt habe Koordinaten auslesen und diese in C# mit GDI+ zeichnen. Ich kriege das auslesen hin, aber das Konvertieren der Daten zum Zeichnen klappt nicht. Folgendes habe ich bisher erreicht: Das auskommentierte war nur ein Versuch, ob das Zeichnen überhaupt klappt und ist natürlich nicht richtig.

    private void pictureBox1_Click(object sender, System.EventArgs e)
    {
    Graphics g = Graphics.FromHwnd(this.pictureBox1.Handle);

    //PointClass pt1 = new PointClass();

    //PointClass pt2 = new PointClass();

    //g.DrawLine(Pens.Blue,pt1,pt2);


    SqlConnection dc = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;"+"Initial Catalog=Test");

    dc.Open();

    SqlCommand comm1 = dc.CreateCommand();
    SqlCommand comm2 = dc.CreateCommand();


    comm1.CommandText = "SELECT y_Koor from Punkt WHERE Punkt_ID = '1'";
    comm2.CommandText = "SELECT x_Koor from Punkt WHERE Punkt_ID = '1'";
    SqlDataReader read = comm1.ExecuteReader();

    //g.DrawLine(Pens.Blue,pt1,pt2);

    this.sqlDataAdapter1.Fill(this.mein_Daten_Set21,0,0,"Punkte_DB");

    g.DrawLine(Pens.Blue,5,5,100,100);
    this.sqlSelectCommand1.CommandText =
    HIER KOMME ICH NICHT WEITER
    }

    Vielen Dank für die Hilfe
    Jack
     

  2. #2
    Avatar von broetchen
    broetchen broetchen ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Österreich/Wien
    Beiträge
    181
    Hi!

    Ich weiß nicht, ob ich dich richtig verstanden habe, aber ich versuche es mal.

    Ich gehe davon aus, dass deine Koordinaten in der DB als int-Werte vorliegen.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    private void pictureBox1_Click(object sender, System.EventArgs e)
    {
      SqlConnection conn = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;"+"Initial Catalog=Test");
     
      SqlCommand comm = new SqlCommand("SELECT x_Koor, y_Koor FROM punkt WHERE punkt_id=1",conn);
     
      SqlDataReader datread = comm.ExecuteReader();
     
      Graphics g = this.pictureBox1.CreateGraphics();
     
      if(datread.Read())
      {
         //Daten vorhanden
         int x = datread.GetInt32(0);
         int y = datread.GetInt32(1);
         //hier könnte man auch int x = (int)datread["x_Koor"]; machen
     
        g.DrawLine(Pens.Blue, 0, 0, x, y); //oder was auch immer du zeichnen willst
      }
      else
      {
        //keine Daten vorhanden
        //Fehler
      }
     
      datread.Close();
      conn.Close();
    }

    So sollte es vom Prinzip her funktionieren. Ob die Koordinaten in der DB jetzt passend für dein Fenster sind, weiß ich nicht.

    mfg broetchen

    P.S.: Benutz bitte das Code-Tag, sieht besser aus und ist lesbarer
     

  3. #3
    Kai_Jack Kai_Jack ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    159
    Vielen Dank, es hat nach einigen Fehlversuchen geklappt, aber dein Code war richtig, hatte was in der Datenbank falsch.

    Was ist das in Klammern, also die [0] und die [1], welche Bedeutung hat das ?
    Das ToolTip welches die Erklärung liefert, ist etwas komisch formuliert.

    Code :
    1
    2
    
    int x = read.GetInt32(0);
           int y = read.GetInt32(1);

    Noch eine Frage:

    Kannst du mir einen Tip geben wie ich eine Linie Zeichne und dann diese MausKoordinaten fange und in die Datenbank schreiben kann

    Besten Dank nochmal für die superfaste Hilfe
    Jack
     

  4. #4
    Avatar von broetchen
    broetchen broetchen ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Österreich/Wien
    Beiträge
    181
    Die Nummern in den Klammern sind die Spalten-Indizes (also aus welcher Spalte er das int fischen soll).
    Daher die Version mit dem Indexer, das funktioniert auch.
     

Ähnliche Themen

  1. [MSSQL] Datenbank anfügen
    Von Darian im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 03.05.10, 15:43
  2. ASP und MSSQL Datenbank
    Von Martin_26 im Forum ASP
    Antworten: 3
    Letzter Beitrag: 04.06.07, 20:02
  3. 40 GB MSSQL-Datenbank
    Von Soapp im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 01.06.07, 16:23
  4. MSSQL Datenbank benutzen
    Von Passer im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 16.05.05, 22:46
  5. Mssql Datenbank mit c#...
    Von pamax im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 16.05.05, 21:26