nummern überprüfen
-
hey leute
ich bräuchte da wiedermal eure hilfe -.-
also .. ich hab da eine textbox .. da geb ich ne nummer ein .. und wenn ich auf speichern klick, sollte die nummer in der textbox mit den nummern in der datenbank verglichen werden ..
wenns diese nummer schon gibt, sollten die daten gespeichert werden und wenn nicht soll ne meldung kommen, das es diese Nummer schon gibt!kann mir vL jemand helfen?
LG mokona
-
Was für ne Datenbank überhaupt? SQL?
allgemein müsste das ungefähr so aussehen
void BtSpeichernClick(object sender, System.EventArgs e) { Int32 _eingabe; if(!(TextBoxEingabe.Text=="")) { try { _eingabe = TextBoxEingabe.Text.ToInt32(); } catch(FormatException) { MessageBox.Show("Bitte eine Ganzzahl eingeben"); TextBoxEingabe.Text = ""; return; } if(/*Datenbankabfrage Zahl schon vorhanden --> nein*/) { // schreibe _eingabe in Datenbank } else { MessageBox.Show("Zahl in Datenbank schon vorhanden"); } } }
-
ja .. doch schon SQL
danke
ok .. ich hab das jetzt mal probiert und er sagt mir bei jeder eingegebenen zahl das die in der datenbank schon vorhanden is! .. hm
-
schreib mal deinen Code rein
-
ok .. mir sind jetzt die von der arbeit zu hilfe geeilt ... willst den code trotzdem noch sehen?
-
ja
-
oki doki
try { con.Open(); DataSet ds = new DataSet(); SqlCommand cmd1 = null; SqlDataAdapter da = null; cmd1 = new SqlCommand(); cmd1.Connection = con; cmd1.CommandText = select; new SqlDataAdapter(cmd1).Fill(ds); if (ds.Tables[0].Rows.Count > 0) { lbl_KOSTEN.Text = "Die eingegebene Kartennummer ist schon vorhanden!"; } else { foreach (ListItem li in cbl_MONAT.Items) { if (li.Selected) { int monat = Int32.Parse(li.Value); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "spNeu"; cmd.Parameters.AddWithValue("@anr", anr); cmd.Parameters.AddWithValue("@nname", nname); cmd.Parameters.AddWithValue("@vname", vname); cmd.Parameters.AddWithValue("@str", str); cmd.Parameters.AddWithValue("@hnr", hnr); cmd.Parameters.AddWithValue("@geb", geb); cmd.Parameters.AddWithValue("@kartenart", kartenart); cmd.Parameters.AddWithValue("@knr", knr); cmd.Parameters.AddWithValue("@monat", monat); cmd.Parameters.AddWithValue("@heut", heut); cmd.Parameters.AddWithValue("@pid", pid); cmd.Parameters.AddWithValue("@fid", fid); cmd.Parameters.AddWithValue("@users", users); cmd.Parameters.AddWithValue("@getan", getan); cmd.Connection = con; cmd.ExecuteNonQuery(); } } } } catch (Exception ex) { lbl_KOSTEN.Text = "Fehler"; } finally { con.Close(); }
is relativ viel .. schäm mich glatt für den code -.-
falls du vorschläge hast wie ich das schöner machen kann, nur her damit
und dann kannst mir auch gleich sagen, wie ich da das blau und das grün beim code reinbekomm.lol.
-
Mit weniger Code wirst du das bei einem so relativ grossen Objekt auch nicht hinbekommen.
Fuer die Abfrage wuerde ich noch den DataReader nehmen, statt des DataSets - der ist um einiges schneller.mokona schrieb:
und dann kannst mir auch gleich sagen, wie ich da das blau und das grün beim code reinbekomm
Versuch's mal mit C# statt Code
-
hm .. ok .. datareader? mit dem hab ich (glaub ich mal) noch nie gearbeitet .. ich glaub ich lass es so
.. weil jetzt funzt es nämlich
/* test test lala test :D */ public void test() { string conStr = "Test"; SqlConnection con = new SqlConnection(conStr); }
eine frage noch ... wie bekomm ich eigentlich IM Visual Studio die Zahlen auf der seite?? ich hät die nämlich gern
-
unter Tools (Werkzeuge?) -> Options -> Text Editor -> All Languages (Alle Sprachen) -> General -> Häckchen bei "Line Numbers"
-
omg .. ich fall vom hocker .. schaut ja cool aus ... danke
ich hät noch ne frage (gut das es zum zahlen/nummern geht ^^)
also .. wenn er mir einen fehler anzeigt .. zeigt er mir nicht immer die zeilen und spaltenzahlen an -.-
kann ich das auch wo einstellen?