| Autor |
Beitrag |
alcedo707
Hält's aus hier
Beiträge: 8
|
Verfasst: So 11.09.11 20:48
Hallo,
Ich verzweifle gerade
Ich habe schon über 1 Stunde gesucht, aber nie wirklich etwas gefunden
Ich möchte die Variablen (vorname, nachname,..) außerhalb der SQLlogin() Klasse verwenden, damit ich auf Form2 auf die zugreifen kann
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: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83:
| public string SQLlogin() {
String user = textBox1.Text; String pass = textBox2.Text; String vorname; String nachname; String usersql; String pwsql; String geld_string; int geld; String HP_full_string; int HP_full; String Def_string; int Def; String Exp_string; int Exp; String spielername; String email; String HP_string; int HP;
String connectionString = "Data Source =.; Initial Catalog =syntic; Integrated Security =SSPI;";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = ("SELECT * FROM dbo.daten WHERE username='" + user + "' and passwort='" + pass + "'"); SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows) { while (reader.Read()) {
vorname = reader["vorname"] + ""; nachname = reader["nachname"] + ""; usersql = reader["Username"] + ""; pwsql = reader["Passwort"] + ""; geld_string = reader["Geld"] + ""; geld = Convert.ToInt32(geld_string); HP_full_string = reader["HP_Full"] + ""; HP_full = Convert.ToInt32(HP_full_string); Def_string = reader["Def"] + ""; Def = Convert.ToInt32(Def_string); Exp_string = reader["Exp"] + ""; Exp = Convert.ToInt32(Exp_string); spielername = reader["spielername"] + ""; email = reader["email"] + ""; HP_string = reader["HP"] + ""; HP = Convert.ToInt32(HP_string);
if (user == usersql && pass == pwsql) { new Form2().Show(); this.Hide();
} else if (user != usersql || pass != pwsql) {
} } } |
Ich bitte um Hilfe
|
|
C#
      
Beiträge: 561
Erhaltene Danke: 65
Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
|
Verfasst: So 11.09.11 21:10
_________________ Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
|
|
gfoidl
      
Beiträge: 157
Erhaltene Danke: 19
Win XP
C#, Fortran 95 - Visual Studio
|
Verfasst: So 11.09.11 21:28
_________________ Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!
|
|
alcedo707 
Hält's aus hier
Beiträge: 8
|
Verfasst: So 11.09.11 21:28
|
|
gfoidl
      
Beiträge: 157
Erhaltene Danke: 19
Win XP
C#, Fortran 95 - Visual Studio
|
Verfasst: So 11.09.11 21:37
Hallo,
| Zitat: |
aber ich habe auf mehr genauere informationen gehofft, ich suche ja schon stunden
|
Dann lies dir ein Grundlagenbuch durch. In jedem halbswegs guten ist das beschrieben, denn das zählt zu den absoluten Grundlagen der OOP.
Wenn du danach schon stundenlang suchst dann liegst wohl an dir (nicht böse gemeint), aber das Stichwort Eigenschaften (od. in engl. Properties) sollte dich wohl auf die richtige Spur lenken. Sonst liegst wirklich an dir
mfG Gü
_________________ Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!
|
|
C#
      
Beiträge: 561
Erhaltene Danke: 65
Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
|
Verfasst: So 11.09.11 21:38
Haste mal meine 2te Idee ausprobiert? Die müsste eigentlich klappen:
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: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87:
| public string SQLlogin() {
String user = textBox1.Text; String pass = textBox2.Text; String vorname; String nachname; String usersql; String pwsql; String geld_string; int geld; String HP_full_string; int HP_full; String Def_string; int Def; String Exp_string; int Exp; String spielername; String email; String HP_string; int HP;
String connectionString = "Data Source =.; Initial Catalog =syntic; Integrated Security =SSPI;";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = ("SELECT * FROM dbo.daten WHERE username='" + user + "' and passwort='" + pass + "'"); SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows) { while (reader.Read()) {
vorname = reader["vorname"] + ""; nachname = reader["nachname"] + ""; usersql = reader["Username"] + ""; pwsql = reader["Passwort"] + ""; geld_string = reader["Geld"] + ""; geld = Convert.ToInt32(geld_string); HP_full_string = reader["HP_Full"] + ""; HP_full = Convert.ToInt32(HP_full_string); Def_string = reader["Def"] + ""; Def = Convert.ToInt32(Def_string); Exp_string = reader["Exp"] + ""; Exp = Convert.ToInt32(Exp_string); spielername = reader["spielername"] + ""; email = reader["email"] + ""; HP_string = reader["HP"] + ""; HP = Convert.ToInt32(HP_string);
if (user == usersql && pass == pwsql) { Form2 form2 = new Form2(); form2.name = name; form2.user = user; form2.geld = geld; form2.Show();
} else if (user != usersql || pass != pwsql) {
} } } |
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public partial class Form2: Form { public string name, user, pw; public int geld;
public Form2() { InitializeComponent(); } } |
Also genauer gehts jetzt echt nicht mehr.
_________________ Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
|
|
Trashkid2000
      
Beiträge: 561
Erhaltene Danke: 137
|
Verfasst: So 11.09.11 21:39
Hallo alcedo707,
für sowas gibt es Properties.
@C# public Valiablen sind nicht gut!
Mit Properties würde in etwa so aussehen:
C#-Quelltext 1: 2: 3: 4: 5: 6:
| public class SQLlogin { public string Vorname { get; set; } public string Nachname { get; set; } ... } |
Zugreifen kannst Du dann so auf eine Property:
C#-Quelltext 1: 2: 3:
| SQLlogin login = new SQLlogin(); login.Vorname = "Hans"; string vorname = login.Vorname; |
|
|
Trashkid2000
      
Beiträge: 561
Erhaltene Danke: 137
|
Verfasst: So 11.09.11 21:42
Nachtrag:
das
C#-Quelltext 1: 2:
| String user = textBox1.Text; String pass = textBox2.Text; | ist nicht gut!
Denn die Klasse sollte nicht die Form kennen. Denn der Klasse ist es im Endeffekt egal, woher sie ihre Informationen bezieht oder wo sie die Informationen anzeigt.
|
|
alcedo707 
Hält's aus hier
Beiträge: 8
|
Verfasst: So 11.09.11 22:56
wohin gebe ich die
C#-Quelltext 1: 2: 3: 4: 5: 6:
| public class SQLlogin { public string vorname { get; set; } public string nachname { get; set; } ... } |
hin? Die muss doch außerhalb von
C#-Quelltext 1: 2:
| public string SQLlogin() { |
sein. aber wenn es draußen ist, ist vorname, nachname,.. nicht mehr deklariert...
sorry für die peinliche fragen
|
|
gfoidl
      
Beiträge: 157
Erhaltene Danke: 19
Win XP
C#, Fortran 95 - Visual Studio
|
Verfasst: So 11.09.11 23:04
Hallo,
dann erstell dafür eine neue Klasse und als Rückrabetype vom Login kannst du ja eine Instanz davon zurückgegeben. Lies dir aber wirklich ein Grundlagenbuch durch. Darin sind all diese Frage erklärt.
mfG Gü
_________________ Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!
|
|