Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst C-Sharp Befüllen einer Struktur mit Werten?

Mitglied: s7mahess

s7mahess (Level 1) - Jetzt verbinden

29.03.2011, aktualisiert 13.04.2011, 3899 Aufrufe, 3 Kommentare

Ich habe folgendes kleines Problem:

Fehler 1 Ein Objekt vom Typ "string[]" kann nicht mit einem Auflistungsinitialisierer initialisiert werden. ***\Telefonverwaltung\Telefonverwaltung\myQuery.cs 30 24 Telefonverwaltung

http://msdn.microsoft.com/de-de/library/bb384224(VS.90).aspx

Leider ist meine OOP noch in Babyschuhen und ich habe keine Ahnung wie ich die structur umbauen muss damit det klappt.

Ziel des ganzen ist irgendwann mal mit
01.
        public void fill_filter() 
02.
03.
            for (int i = 0; i < query_lv_kostenstellen.s_columns.Length; i++) 
04.
05.
                cb_lv_kostenstellen_filter1.Items.Add(Convert.ToString(query_lv_kostenstellen.s_columns[i])); 
06.
07.
        }

eine combobox füllbar ist.

und mit
01.
public void fill_listview(string squery, ListView lv_lv)  
02.
03.
       ... 
04.
}
das füllen einer Listbox funktioniert (tut es jetzt schon).

Beide Methoden funktionieren so weit nur meine Struc will nicht.

Danke an Alle die mir helfen können wie ich mir mehere "myquery" anlegen kann.

01.
namespace Telefonverwaltung 
02.
03.
    public struct myquery 
04.
05.
        public string[] s_columns; 
06.
        public string s_from; 
07.
        public string s_join; 
08.
        public string mysqlquery; 
09.
 
10.
        public myquery(string[] s_columns, string s_from, string s_join) 
11.
12.
            this.s_columns = s_columns; 
13.
            this.s_from = s_from; 
14.
            this.s_join = s_join; 
15.
            this.mysqlquery = ""; 
16.
 
17.
            this.mysqlquery = "SELECT "; 
18.
            foreach (string part in s_columns) 
19.
20.
                this.mysqlquery += part + ", "; 
21.
22.
            this.mysqlquery += s_join; 
23.
24.
25.
 
26.
    public partial class frm_telefonverwaltung 
27.
28.
        myquery query_lv_kostenstellen = new myquery 
29.
30.
           s_columns = {"kostenstelle_id","kostenstelle_nummer","kostenstelle_name","kostentraeger_nummer","kostentraeger_name","kostenstelle_bemerkung"}, 
31.
           s_from = "FROM kostenstelle",   
32.
           s_join = "LEFT JOIN kostenbereich USING (kostenbereich_id) LEFT JOIN kostentraeger USING (kostentraeger_id)" 
33.
        }; 
34.
        myquery query_lv_telefonhistory = new myquery 
35.
36.
           s_columns = {"blubb_id","blubb_nummer","blubb_name","blubb_nummer","blubb_name","blubb_bemerkung"}, 
37.
           s_from = "FROM blubb",   
38.
           s_join = "LEFT JOIN blubb USING (blubb_id) LEFT JOIN blubbUSING (blubb_id)" 
39.
        };    
40.
    };         
41.
}   
Mitglied: MisterExpulso
29.03.2011 um 18:15 Uhr
Hallo s7mahess,

fangen wir mal an:

Die Zeilen 5-9 funktionieren zwar, machen aber keinen Sinn in der OOP, da hier die Kapselung (welche die OOP auszeichnet) nicht verwendet wird.
Ich würde die Variablen auf private setzten.

Der darauf folgende Konstruktor scheint in Ordnung zu sein.

Der Block in Zeile 28 kann so nicht funktionieren: Du erstellst eine neues Objekt myquery mit dem Schlüsselwort 'new' damit wird der Konstruktor von oben aufgerufen. Dieser benötigt allerdings runde Klammern und keine Geschwungenen (Zeile 29 & 33).

Zeile 30 kann so auch nicht funktionieren, da du hier versuchst das Array m.H. einer Initialisierungsliste zu initialisieren. Das funktioniert allerdings nur wenn in selber Zeile die Deklaration erfolgt. Diese ist bei dir allerdings bereits in Zeile 5 zu finden.
Ich würde die Zuweisung deer Variablen sowieso nicht im Konstruktor machen, sondern vorher.

Für die Zeilen 34-39 gilt entsprechendes.

Hier jetzt mal mein Ansatz:
01.
    namespace Telefonverwaltung 
02.
03.
        public struct myquery 
04.
05.
            private string[] s_columns; 
06.
            private string s_from; 
07.
            private string s_join; 
08.
            private string mysqlquery; 
09.
 
10.
            public myquery(string[] s_columns, string s_from, string s_join) 
11.
12.
                this.s_columns = s_columns; 
13.
                this.s_from = s_from; 
14.
                this.s_join = s_join; 
15.
                this.mysqlquery = ""; 
16.
 
17.
                this.mysqlquery = "SELECT "; 
18.
                foreach (string part in s_columns) 
19.
20.
                    this.mysqlquery += part + ", "; 
21.
22.
                this.mysqlquery += s_join; 
23.
24.
25.
 
26.
        public partial class frm_telefonverwaltung 
27.
28.
            static string[] s_columns_ks = { "kostenstelle_id", "kostenstelle_nummer", "kostenstelle_name", "kostentraeger_nummer", "kostentraeger_name", "kostenstelle_bemerkung" }; 
29.
            static string s_from_ks = "FROM kostenstelle"; 
30.
            static string s_join_ks = "LEFT JOIN kostenbereich USING (kostenbereich_id) LEFT JOIN kostentraeger USING (kostentraeger_id)"; 
31.
 
32.
            myquery query_lv_kostenstellen = new myquery(s_columns_ks, s_from_ks, s_join_ks); 
33.
 
34.
            static string[] s_columns_th = { "blubb_id", "blubb_nummer", "blubb_name", "blubb_nummer", "blubb_name", "blubb_bemerkung" }; 
35.
            static string s_from_th = "FROM blubb"; 
36.
            static string s_join_th = "LEFT JOIN blubb USING (blubb_id) LEFT JOIN blubbUSING (blubb_id)"; 
37.
 
38.
            myquery query_lv_telefonhistory = new myquery(s_columns_th, s_from_th, s_join_th); 
39.
40.
    } 
Bitte warten ..
Mitglied: s7mahess
29.03.2011 um 22:31 Uhr
Sieht sehr gut und verständlich aus.

Werd es morgen mal testen.

Danke dir
Bitte warten ..
Mitglied: s7mahess
29.03.2011 um 23:20 Uhr
So nochmal,

funktioniert so wie ich will, dank dir.

Musste noch kleine Modifikationen vornehmen aber nichts wildes.

01.
using System; 
02.
using System.Text; 
03.
    namespace Telefonverwaltung 
04.
05.
        public struct myquery 
06.
07.
            public string[] s_columns; 
08.
            private string s_from; 
09.
            private string s_join; 
10.
            public string mysqlquery; 
11.
 
12.
            public myquery(string[] s_columns, string s_from, string s_join) 
13.
14.
                this.s_columns = s_columns; 
15.
                this.s_from = s_from; 
16.
                this.s_join = s_join; 
17.
                this.mysqlquery = ""; 
18.
 
19.
                this.mysqlquery = "SELECT "; 
20.
                for (int i = 0; i < s_columns.Length;i++) 
21.
22.
                    this.mysqlquery += s_columns[i]; 
23.
                    if (i < s_columns.Length - 1)  
24.
                    {  
25.
                        this.mysqlquery += ", ";  
26.
27.
28.
                this.mysqlquery += " " + s_from; 
29.
                this.mysqlquery += " " + s_join; 
30.
31.
32.
 
33.
        public partial class frm_telefonverwaltung 
34.
35.
            static string[] s_columns_ks = { "kostenstelle_id", "kostenstelle_nummer", "kostenstelle_name", "kostenbereich_name", "kostentraeger_nummer", "kostentraeger_name", "kostenstelle_bemerkung" }; 
36.
            static string s_from_ks = "FROM kostenstelle"; 
37.
            static string s_join_ks = "LEFT JOIN kostenbereich USING (kostenbereich_id) LEFT JOIN kostentraeger USING (kostentraeger_id)"; 
38.
 
39.
            myquery query_lv_kostenstellen = new myquery(s_columns_ks, s_from_ks, s_join_ks); 
40.
 
41.
            static string[] s_columns_th = { "blubb_id", "blubb_nummer", "blubb_name", "blubb_nummer", "blubb_name", "blubb_bemerkung" }; 
42.
            static string s_from_th = "FROM blubb"; 
43.
            static string s_join_th = "LEFT JOIN blubb USING (blubb_id) LEFT JOIN blubbUSING (blubb_id)"; 
44.
 
45.
            myquery query_lv_telefonhistory = new myquery(s_columns_th, s_from_th, s_join_th); 
46.
 
47.
            static string[] s_columns_tu = { "blubb_id", "blubb_nummer", "blubb_name", "blubb_nummer", "blubb_name", "blubb_bemerkung" }; 
48.
            static string s_from_tu = "FROM blubb"; 
49.
            static string s_join_tu = "LEFT JOIN blubb USING (blubb_id) LEFT JOIN blubbUSING (blubb_id)"; 
50.
 
51.
            myquery query_lv_telefonuebersicht = new myquery(s_columns_tu, s_from_tu, s_join_tu); 
52.
 
53.
            static string[] s_columns_nv = { "blubb_id", "blubb_nummer", "blubb_name", "blubb_nummer", "blubb_name", "blubb_bemerkung" }; 
54.
            static string s_from_nv = "FROM blubb"; 
55.
            static string s_join_nv = "LEFT JOIN blubb USING (blubb_id) LEFT JOIN blubbUSING (blubb_id)"; 
56.
 
57.
            myquery query_lv_nutzerverwaltung = new myquery(s_columns_nv, s_from_nv, s_join_nv); 
58.
59.
    } 
Bitte warten ..
Ähnliche Inhalte
C und C++

C Sharp - Variablen Wert splitten und dann damit rechnen

gelöst Frage von K-ist-KC und C++18 Kommentare

Hallo, Es geht hier um die Programmiersprache "C#" eines mal vorweg, im Bereich Programmieren habe ich 0 Erfahrung. Überblick: ...

IDE & Editoren

IDE für C-Sharp und C++ auf Windows

gelöst Frage von BugdroidIDE & Editoren8 Kommentare

Hallo, Ich nutze derzeit Visual Studio, aber auf Dauer ist es mir etwas zu Ressourcenfressend und für meine Zwecke ...

C und C++

C Sharp XAML Universal

Frage von DippsC und C++3 Kommentare

Hallo ich versuche gerade mit C#2015 ein Projekt Universal XAML zu erstellen um auf einem Raberry PI 2 mit ...

C und C++

C-sharp SearchPattern (Regex)

Frage von YanmaiC und C++6 Kommentare

Hallo ihr Administratoren, ich verwende ein AUtocpmpletemenu Plugin. Dort habe ich Snippets, die dann sozusagen completed werden. Beim erstellen ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...