Beiträge von Shavari

    @plantschkuh Danke für die schnelle Hilfe aber ich bin vorhin selber auf die Lösung gestoßen, wäre aber eine gute Idee mit den Feldern.

    Ich schreibe meine Lösung der Methode hier rein, vielleicht hilft sie ja später noch jemandem (bezweifle ich aber).
    Ich habe keine Kommentare hingeschrieben, weil ich einen Geistesblitz hatte und den so schnell wie möglich umsetzen wollte. Das mit den Erfahrungspunkten hab ich vorher vergessen, hier ist es jetzt schon dabei. Ich könnte jetzt auch nicht mehr genau erklären wie das jetzt funktioniert aber es geht glaube ich. Falls jemandem Fehler oder Sachen die man kürzer lösen könnte auffallen aber trotzdem in dieser einen Methode zu lösen sind, bin ich offen für Verbesserungen :)

    Ein herzliches Hallo an alle

    Ich habe ein Problem mit meinem Programm das ich grad schreibe. Mein Problem dabei ist der Lösungsweg. Wie stelle ich das an?? Ich habe mir jetzt Tagelang das Hirn darüber zermartert wie es gehen könnte aber das einzige was dabei herausgekommen ist sind Gehirnknoten. Was ich nämlich tun will ist folgendes:

    Ich brauche eine Methode die ein Integer-Array mit 17 Stellen zurückgibt.
    Ich habe 16 verschiedene Eigenschaften die die Integer 0 - 15 im Array bilden (diese haben im gesamten Programm immer die selbe Reihenfolge):

    • [0] = Kontaktwurf
    • [1] = Fernwurf
    • [2] = PSI-Wurf
    • [3] = Kraft
    • [4] = Geschicklichkeit
    • [5] = Schnelligkeit
    • [6] = Widerstandskraft
    • [7] = Kommunikation
    • [8] = Technik
    • [9] = Wissen
    • [10] = Soziale Kompetenz
    • [11] = Lebensenergie
    • [12] = PSI-Potenz
    • [13] = Mentale Energie
    • [14] = Belastbarkeit
    • [15] = Ausdauer


    Array Nummer 16 ist die Anzahl an Erfahrungspunkten die überbleibt.

    Ich habe ein weiteres Array das die Priorität einer jeden Eigenschaft enthält (die Prioritäten sind jedesmal anders vergeben), also z.B. Kontaktwurf hat Priorität 7. Das wäre dann im Array ungefähr so: eigenschaften[0] /*[0] = Kontaktwurf*/ hat Priorität prioritaet[0] /*den Wert davon*/

    Code
    public static int[] eigenschaftenSystem(Object ausbildung, int stufe, int erfahrungspunkte)
    {
         int[] eigenschaften = new int[17];
         erfahrungspunkte += Operationen.Tabellen.TabellenDatenbankAuslesen.erfahrungspunkte(stufe);
         int[] prioritaet = Operationen.Tabellen.TabellenDatenbankAuslesen.eigenschaftspriorität(ausbildung);
    
    
         eigenschaften[16] = erfahrungspunkte;
         return eigenschaften
    }

    die Eigenschaften müssen jetzt zu 4 Werten in je 4 Gruppen unterteilt werden wo per Randomzahl von 1 - 4 in jeder Gruppe eine einzelne Eigenschaft ausgewählt wird und einmal um 1 erhöht wird. Allerdings müssen sie so in die 4 Gruppen unterteilt werden, dass die Eigenschaften mit den Prioritäten 1 - 4 in Gruppe 1 sind, die mit 5 - 8 in Gruppe 2,..., dabei muss am Ende bei der rückgabe aber die Reihenfolge wieder die selbe sein, also: [0] = Kontaktwurf, [1] = Fernwurf,...
    Was am Ende also dabei rauskommt ist ein Array mit 17 Werten wovon der letzte die Erfahrungspunkte sind und wo 4 der 16 übrigen Werte den Wert 1 besitzen, die restlichen alle 0.

    Da ihr vielleicht verstehen könnt, dass mir dabei das Hirn raucht, könntet ihr mir dabei vielleicht helfen?
    bin für jeden Vorschlag offen, danke schonmal im vorraus

    hallo, ich bin wieder mal mit einer frage da, ich habe schon danach gesucht und gesucht und gesucht hab aber nichts gefunden, vielleicht kann mir wer helfen?

    so sieht es jetzt bei mir aus wenn ich eine zelle auslesen möchte:

    Code
    using (VölkerDatenbank datenbank = new VölkerDatenbank("VölkerDatenbank.sdf"))
    {
       var variable = (from volk in datenbank.Völker
                             where volk.Name.Equals("Marapén")
                             select volk.Name).FirstOrDefault();
    }

    meine frage ist jetzt:
    wie kann ich eine ganze zeile auslesen und die werte in einem array speichern wenn ich den namen des volkes weis (der volk name ist die erste spalte in der tabelle und ist der primäre schlüssel)?
    mit einer spalte geht das ja so:

    Code
    string[] liste;
    using (VölkerDatenbank datenbank = new  VölkerDatenbank("VölkerDatenbank.sdf"))
    {
       var variable = (from volk in datenbank.Völker
                             select volk.Name);
       liste = variable.ToArray();
    }

    aber wie geht das wenn ich werte aus der zeile auslesen und in ein array speichern will?

    wahrscheinlich von allem ein bisschen was.
    aber das:

    Zitat

    Hast du eine Liste mit allen Völkernamen und möchtest einfach per Auswahl den dazugehörigen Datensatz laden?

    ist ganz genau das was ich haben will :D

    also das ist mein genauer plan:
    ich will in der tabelle die völker anlegen und dann aus der namen spalte der tabelle in einer combobox die auswahl erstellen.
    die auswahl eines volkes führt zum laden der dazugehörigen werte

    Also ich habe eine Datenbank namens: "VölkerDatenbank.sdf"
    in dieser befindet sich eine Tabelle namens: "Volk"
    mit den Spalten wie im Bild sichtbar (ein Paar Daten sind schon eingefügt)

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Daraus möchte ich jetzt zum Beispiel in der Spalte "Name" den Wert aus der Zeile 7: "Marapén" in eine TextBox oder eine String Variable schreiben. die Linq klasse heißt: "VölkerDatenbank.dbml"

    ja genau das brauche ich :D
    nur wie schreib ich die var names jetzt in meine textBox1.Text?

    nein ich hab noch nie eine datenbank verwendet, ich weis leider auch nicht wozu keys da sind bzw. wozu man die brauchen kann.

    ich lerne in der schule gerade java, mit c# hab ich schon etwas länger erfahrung aber klassen kenne ich erst seit kurzem, daher meine "Unwissenheit".
    tut mir leid wenn ich lauter fragen stelle die so offensichtlich zu lösen sind.

    ok ich hab das jetzt mal eingebaut und es funktioniert so weit.
    so bekomme ich nämlich alle werte dieser spalte aber wie stelle ich es an das ich nur einen wert bekomme?
    mein code bis jetzt:

    wäre das dann das was du oben schon geschrieben hast?

    Zitat
    Code
    using (DataClasses1DataContext dc = new DataClasses1DataContext())
                {
                    var res = (from customers in dc.tbl_Customers
                               where customers.CustomerId == 2
                               select customers.CustomerName).FirstOrDefault();
    
    
                    label1.Text = res;
                }

    vielen dank für die hilfe :) das funktioniert mit dem linq sehr gut, auch das erstellen geht gut aber funktioniert es mit dieser linq datenbank jetzt noch, dass ich so wie wenn ich eine vs datenbank aus den "datenquellen" auf mein form ziehe, so eine oberfläche bekomme? oder wenn es geht dann wie?

    oh das hab ich vorhin grad überlesen, tut mir leid.
    ich hab grad versucht die tabelle aus dem server-explorer in die linq to sql klasse zu ziehen aber er hat mir einen fehler angezeigt: "Die ausgewählten Objekte verwenden einen nicht unterstützten Datenanbieter"
    was hab ich falsch gemacht?

    ich habe meine tabelle jetzt in eine locale datenbank umgeschrieben (wieder mit vs automatisch) ich hab wieder keinen code selber geschrieben.
    eine locale datenbank scheint mir bei meinem vorhaben auch etwas besser geeignet zu sein.
    immerhin weis ich jetzt, dass ich noch keine verbindung zu meiner datenbank habe.
    müsste ich da zuerst ein neues objekt meiner datenbank erzeugen oder funktioniert das anders?

    danke für diese ausführliche information, linq ist für mich völliges neuland aber ich werde mir das mal anschaun.

    es wäre praktisch wenn ich dafür keinen server benötige und keine anderen programme benötigt werden. also dass mein programm auch ohne internet funktioniert.es ist auch nur für einen benutzer gedacht.

    Vielleicht ist eine datenbank aber auch gar nicht nötig bei meinem vorhaben, denn ich brauche eigentlich nur eine tabelle in die ich was reinschreiben und dann auslesen kann.

    naja ich habe mit visual studio eine dienstbasierte datenbank erstellt und dort eine tabelle eingefügt und diese auch schon befüllt.
    dann habe ich diese datenbank als datenquelle hinzugefügt und in mein form gezogen. dort erstellt visual studio automatisch
    ein steuerelement mit der tabelle, in die man, wenn man das programm ausführt auch schon was eingeben und speichern kann.
    die datenbank befindet sich nachher im selben ordner wie die exe, also ich hab keinen server auf den ich mich verlinken will/muss.

    das ist eigentlich alles was ich bisher gemacht habe.
    dank visual studio musste ich bis jetzt noch keine zeile code für die tabelle schreiben.

    erstmal ein hallo an alle,

    ich programmiere c# in visual studio 2008 und suche jetzt schon eine ewigkeit nach einer
    lösung für mein problem:

    ich habe in einem Windows Forms Projekt eine tabelle in einer Datenbank und möchte
    eine bestimmte zelle daraus auslesen, also den darin enthaltenen wert in einer variable
    speichern. am liebsten würde ich einfach zeile und spalte angeben können.

    selber habe ich leider überhaupt keinen plan wie das gehen sollte und die meisten "lösungen"
    die in manchen anderen foren stehen verstehe ich nicht da ich zwar kein Anfänger bin mich
    aber auch nicht wirklich super auskenne.

    ich freue mich über jede antwort und ich hoffe ihr könnt mir helfen,

    lg shavari