Laden...

Durch Anmeldung in Form1 Textboxen in Form2 befüllen

Erstellt von erzincan24 vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.031 Views
E
erzincan24 Themenstarter:in
17 Beiträge seit 2015
vor 8 Jahren
Durch Anmeldung in Form1 Textboxen in Form2 befüllen

Servus Leute,

habe folgendes Problem und zwar, ich möchte nach einen Login auf einer Form 1, dass das die textboxen auf Form 2(main_form) automatisch befüllt werden.

habe zunächst den Inhalt der usernamen ( textbox1 ) in die form zwei kopiert, dieser Name erscheint auch auf der Form 2. Durch den Namen möchte ich eine Select Anweisung starten, damit z.B. textbox_strasse (tb_mainstrasse) automatisch aus einer Tabelle [register] befüllt wird.
Hoffe das Problem ist klar.

bedanke mich voraus für die Bearbeitung

Code;
code auf der Form 1;


form_main form_main = new form_main(tb_loginname.Text);
form_main.ShowDialog();


code auf der Form 2 (form_main);


        public form_main(string str_value)
        {
            InitializeComponent();
            tb_loginname.Text = str_value;
        }


Code auf der form zwei damit die Textbox automatisch befüllt wird


            con.Open(); // con = SQL Connection wurde vorher ralisiert 
            string sqlquery = ("Select strasse From [register] WHERE name = '" + tb_loginname.Text + "'");

            SqlCommand command = new SqlCommand(sqlquery, con);

            SqlDataReader sdr = command.ExecuteReader();

            tb_mainstrasse.Text = sdr.ToString();

53 Beiträge seit 2012
vor 8 Jahren

Hallo, ich bin auch nur ein Newbi, aber ich würde das ggf. so lösen:

in der Form1


form1 irgendeinName= new form1();
irgendeinName.loginname = "Maffi1986";
irgendeinName.strasse = "MusterStr. 3";
irgendeinName.ort = "Hamburg";
irgendeinName.ShowDialog();

in der Form2


public partial class form_main : form2
{
...
public string loginname { get; set; }
public string strasse { get; set;}
public string ort { get; set; }

somit hast du die werte dann in einer Variable und kannst Sie dann zuweisen

textbox1.Text=strasse;

ich hoffe ich habe dein Problem richtig verstanden, und konnte dir Helfen.

Viele Grüße

Maffi

P
1.090 Beiträge seit 2011
vor 8 Jahren

Was du machen möchtest, ist Ansatzweise klar.

Was nicht Funktioniert nicht. Es würde helfen Anzugeben, was nicht Funktioniert. So kann man nur Raten.

Meine Vermutung ist, dass du die Straße nicht in der Textbox stehen hast. Sondern den Typ des Objektes vom Reader.


SqlDataReader sdr = command.ExecuteReader();

tb_mainstrasse.Text = sdr.ToString(); 

Kurz Gegooglet:Das könnte dein Problem lösen:
stackoverflow:Read data from SqlDataReader
(Hab ich jetzt nur grob überflogen)

Grundlegen: [Hinweis] Wie poste ich richtig? (Grade was die Formatierung des Quellcodes angeht.)

[Edit] Danke Th69, hab den Link mal ergänzt. [/Edit]

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

6.911 Beiträge seit 2009
vor 8 Jahren

Hallo erzincan24,

wie Palin schon erwähnt hat, solltest du es den Helfer möglichst leicht machen dir helfen zu können. Dazu gehört es auch dass der Code formatiert wird, genau beschrieben wird was du willst und wo du hängst. Schau dir dazu unbedingt die Grundlagen für erfolgreiches Posten an: [Hinweis] Wie poste ich richtig?

Schau dir weiters [FAQ] Kommunikation von 2 Forms an.
SQL Statements werden auch nicht als String zusammengebaut, sondern [Artikelserie] SQL: Parameter von Befehlen verwendet.

Da ich in deinem Code ein ShowDialog gesehen, möchte ich dir auch als Anregung Warten auf Schließen einer anderen Form [und warum man Dialoge nicht modal machen sollte] zum Lesen geben. Vllt. findest du darin ein paar Gedanken und Ansätze wie es vllt. anders lösbar ist.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

E
erzincan24 Themenstarter:in
17 Beiträge seit 2015
vor 8 Jahren

Hi Leute,

danke im voraus für eure Raschen Antworten.
Danke Palin, das ist mein Problem. ( kann dein link nicht öffnen, leider)
Habe mehrere Codes versucht (vergebens 😕)

Nochmals kurz zur verständniss des Programms:

  1. Habe eine Registrierungs Forumlar da werden ( name,Pw,strasse,hausnummer etc ) in einer DB abgelegt in meinem fall nennt sich dei Tabelle [register]

  2. Der Registrierte USER kann sich auf der Form 1 (form_login) anmelden

3.Durch erfolgreiches Anmelden öffnet sich die zweite form (form_main), auf dieser befinden sich mehrer Textboxe(tb) wie Name, Strasse usw.

Der Name des Eingeloggeden User's bekomme ich in die tb_name, durch diesen Namen möchte ich die andere zugehörigen tb automatisch befüllen lassen. z.B:

 string sqlquery = ("Select strasse From [register] WHERE name = '" + tb_loginname.Text + "'");

Nach der Zuweisung auf die textbox bleibt sie leer.

hoffe ich kann mich verständlich ausdrücken 😕.

Grüße aus Mainz

E
erzincan24 Themenstarter:in
17 Beiträge seit 2015
vor 8 Jahren

Hi Leute,

habe nun das Problem selbst gelöst und es funktioniert wie gewollt.

bedanke mich nochmals für die TIPPS und das alles innerhalb von nicht mal 24h ihr seid alle TOP 👍

grüße ausm kalten Mainz
X(