tutorials.de Buch-Aktion 05/2012
Seite 1 von 3 123 LetzteLetzte
Like Tree1Danke
ERLEDIGT
NEIN
ANTWORTEN
31
ZUGRIFFE
643
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    Hallo,
    irgendwie kann ich in einer konsolenapplikation keine arrays machen.


    hier mal mein code:

    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
    29
    30
    31
    32
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Net.NetworkInformation;
    using System.Net.Mail;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
     
     
     
    namespace PingTool_con
    {
        
     
        public class Program
        {
     
            string adr[,];
            
            
            
            
            
            
            static void Main(string[] args)
            {
                adr = new string [5,5];
            }
        }

    ich kann irgendwie gar keine "globalen" variablen benutzen. kann mir jemand sagen warum? ich habe das gleiche mal in einer windows Form ausprobiert, da funktioniert es.
     

  2. #2
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    dann kommt immer folgende Fehlermeldung :

    Code :
    1
    2
    3
    4
    
    Fehler  1   Fehlerhafte Arraydeklaration: Beim Deklarieren eines verwalteten Arrays steht der Rangspezifizierer vor dem Variablenbezeichner. Zum Deklarieren eines Pufferfelds fester Größe verwenden Sie vor dem Feldtyp das fixed-Schlüsselwort.  C:\Dokumente und Einstellungen\hk\Eigene Dateien\Visual Studio 2010\Projects\PingTool_con\PingTool_con\Program.cs   21  19  PingTool_con
     
     
    Fehler  2   Für das nicht statische Feld, die Methode oder die Eigenschaft "PingTool_con.Program.adr" ist ein Objektverweis erforderlich.   C:\Dokumente und Einstellungen\hk\Eigene Dateien\Visual Studio 2010\Projects\PingTool_con\PingTool_con\Program.cs   30  13  PingTool_con
     

  3. #3
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Bei Fehlermeldung sagen doch schon was falsch ist

    1.
    Bei der Deklaration von Arrays gehören die eckigen Klammern zum Typ nicht zum Bezeichner.
    siehe auch http://www.aspheute.com/artikel/20000731.htm

    2.
    die Methode Main ist statisch. Demnach müssen auch die genützen Member Klassenmember (also statisch) sein und kein Objektmember.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  4. #4
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    also hätte es wie folgt sein müssen?

    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
    29
    30
    31
    32
    33
    34
    
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Net.NetworkInformation;
    using System.Net.Mail;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
     
     
     
    namespace PingTool_con
    {
        
     
        public class Program
        {
     
            static string[,] adr;
            
            
            
            
            
            
            static void Main(string[] args)
            {
                adr = new string [5,5];
            }
        }
    }

    ?
     

  5. #5
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Zitat Zitat von xlon Beitrag anzeigen
    also hätte es wie folgt sein müssen?
    Was sagt denn der Compiler?
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  6. #6
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    also der compiler sagt: es funktioniert. alles ok

    habe es aber jetzt um eine structur erweitert.

    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
    29
    30
    31
    32
    33
    34
    35
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Net.NetworkInformation;
    using System.Net.Mail;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
     
     
     
    namespace PingTool_con
    {
      
     
       struct adr
        {
         public  string name, adresse;
        }
     
        class Program
        {
            static string hallo;
     
           static adr _adr = new adr();
             
            static void Main(string[] args)
            {
                 _adr.name = "hallo";
                hallo = "123";
           }
        }
    }

    aber ich habe direkt noch eine frage zu dem programm, ich möchte eine verbindung zu einer datenbank herstellen, die daten die in der datenbank sind möchte ich dann in diese structur einbinden und damit weiter arbeiten. ich habe die verbindung zu meiner datenbank schon erfolgreich hergestellt. ich weiß aber nicht wie ich z.b. aus der tabelle "Adressen" aus der X ten spalte den wert name in _adr.name und adresse in _adr.adresse. wenn ich google dann finde ich immer nur sachen wie ich das in eine combobox einfüge oder in ein datagrid view. aber irgendwie geht das nicht in meine structur. ich hoffe mir kann da jemand helfen.

    vielen dank schonmal im vorraus
     

  7. #7
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Hab kein VS hier und bei uns haben wir eigene Objekte die die meiste Arbeit übernehmen.
    Aber schau dir mal DbDataReader an, damit kannst du einzelne Werte auslesen.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  8. #8
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    mhmmm...irgendwie geht das nicht :-P
     

  9. #9
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Zitat Zitat von xlon Beitrag anzeigen
    mhmmm...irgendwie geht das nicht :-P
    Was geht nicht? Hast du dir die DbDataReader-Klassen (es gibt entsprechend für die DBMS welche) mal angeschaut?
    Zeig doch mal deinen Code! Etwas musst du ja schon haben!
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  10. #10
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    hier mal der code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
     static public void open_database()
            {
                string conStr ="Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|"+ "\\Database.mdf;Integrated Security=True;User Instance=True";
     
                SqlConnection conn = new SqlConnection(conStr);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = "Select * from Adressen";
                
                SqlDataReader reader = cmd.ExecuteReader();
                
               
                
                conn.Open();
     
                Console.WriteLine(reader.GetString(1));
                
                
                conn.Close();
     
              
            }


    das programm wird ausgeführt nur es stürzt dann an diesem punkt ab:
    Code :
    1
    
     SqlDataReader reader = cmd.ExecuteReader();
     

  11. #11
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    sooooo ich glaub ich hab es jetzt soweit.
    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
    29
    30
    31
    32
    
    static public void open_database()
            {
                string conStr ="Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|"+ "\\Database.mdf;Integrated Security=True;User Instance=True";
     
                SqlConnection conn = new SqlConnection(conStr);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = "Select * from Adressen";
            
                
                conn.Open();
     
                SqlDataReader reader = cmd.ExecuteReader();
     
                do
                {
                    Console.WriteLine("\t{0}\t{1}", reader.GetName(0), reader.GetName(1));
     
                    while (reader.Read())
                        Console.WriteLine("\t{0}\t{1}\t{2}", reader.GetInt32(0), reader.GetString(1),reader.GetString(2));
     
                   
                } while (reader.NextResult());
     
     
                
     
                reader.Close();
     
                conn.Close();
     
              }
    so gebe ich alle schonmal aus. damit folgt aber ein weiteres problem. ich kann das jetzt nicht in meine structur reinschreiben.

    wenn ich jetzt schreiben würde:
    Code :
    1
    
    _adr.name =reader.GetString(1);

    kommt stürzt es in der laufzeit ab.
     

  12. #12
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    hat alles funktioniert

    danke
    Geändert von xlon (09.05.10 um 18:39 Uhr) Grund: Update
     

  13. #13
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    gibt es auch sowas zum schreiben?
     

  14. #14
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Was meinst du? In eine DB schreiben?
    Ja! Gleiche Klasse, andere Methode
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  15. #15
    xlon xlon ist offline Mitglied Silber
    Registriert seit
    Jun 2009
    Beiträge
    92
    gleiche klasse? andere methode?

    also in der SqlDataReader gibt es keine methode zum schreiben :-P bzw. keine die ich gefunden habe.

    und ich meine das ich damit ausschließlich lesen darf oder?
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 05.12.10, 23:07
  2. Antworten: 6
    Letzter Beitrag: 27.01.10, 16:07
  3. Antworten: 5
    Letzter Beitrag: 04.03.06, 19:07
  4. Pointer auf 2dim. Array
    Von Macbeth23 im Forum C/C++
    Antworten: 10
    Letzter Beitrag: 09.02.05, 20:46
  5. Console I/O
    Von Trivalik im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 24.01.05, 13:44