Beispiel #1
0
 public override void Object2Ui(Tabelle t)
 {
     if (t != null)
     {
         Material_mat modell = t as Material_mat;
         _uiTbBezeichnung.Text = modell.sBezeichnung;
         _uiTbNummer.Text      = modell.sNummer;
     }
     else
     {
         _uiTbBezeichnung.Clear();
         _uiTbNummer.Clear();
     }
 }
Beispiel #2
0
        public override Tabelle Ui2Object(Tabelle record)
        {
            Material_mat m;

            if (record == null)
            {
                m = new Material_mat();
            }
            else
            {
                m = record as Material_mat;
            }



            if (_uiTbBezeichnung.Text.Trim().Length == 0)
            {
                _uiTbBezeichnung.Focus();
                MessageBox.Show("Bezeichnung darf nicht leer sein!", "Fehlermeldung");
                return(null);
            }
            else
            {
                m.sBezeichnung = _uiTbBezeichnung.Text;
            }


            if (_uiTbNummer.Text.Trim().Length == 0)
            {
                _uiTbNummer.Focus();
                MessageBox.Show("Nummer darf nicht leer sein!", "Fehlermeldung");
                return(null);
            }
            else if (_uiTbNummer.Text.Trim().Length != 10)
            {
                _uiTbNummer.Focus();
                MessageBox.Show("Nummer muss 10-stellig sein!", "Fehlermeldung");
                return(null);
            }
            else
            {
                m.sNummer = _uiTbNummer.Text.Trim();
            }



            return(m);
        }
Beispiel #3
0
        public bool MaterialSpeichern(Material_mat m, out string errmsg)
        {
            errmsg = ""; // Annahme: kein Fehler

            using (SqlConnection con = new SqlConnection(_connectionString))
            {
                con.Open();

                String sql;

                if (m.iId != null)
                {
                    sql = "UPDATE Aufkleber.Material_mat SET sNummer=@pnummer, sBezeichnung=@pbezeichnung " +
                          "WHERE iId=@pid";
                }
                else

                {
                    sql = "INSERT INTO Aufkleber.Material_mat " +
                          "(sNummer, sBezeichnung) " +
                          "VALUES (@pnummer, @pbezeichnung);" +
                          "SELECT SCOPE_IDENTITY();";
                }

                SqlCommand cmd = new SqlCommand(sql, con);
                if (m.iId != null)
                {
                    cmd.Parameters.AddWithValue("@pid", m.iId);
                }



                // Parameter für Pflichtfelder sind einfach
                // Man kann den Wert gleich belegen


                cmd.Parameters.AddWithValue("@pnummer", m.sNummer);
                cmd.Parameters.AddWithValue("@pbezeichnung", m.sBezeichnung);



                // Will man etwa die Id des neuen Datensatzes, so nutzt man
                // ExecuteScalar. Die Id wird durch die obige Query ausgegeben.
                // Entscheidend ist die Funktion SCOPE_IDENTITY().
                // Die muss mit der selben Query wie der INSERT aufgerufen werden, sonst
                // funktioniert es nicht.
                try
                {
                    if (m.iId == null)
                    {
                        m.iId = Convert.ToInt32(cmd.ExecuteScalar());
                        Console.WriteLine("Neue Id: {0}", m.iId);
                        //cmd.ExecuteNonQuery();
                    }
                    else
                    {
                        // Liefert die Query keinen Wert, dann ExecuteNonQuery
                        // return-Wert ist die Anzahl der betroffenen DS.
                        cmd.ExecuteNonQuery();
                        //cmd.Parameters.AddWithValue("@pnr", k.sNr);
                    }
                }

                catch (SqlException e)
                {
                    if (e.Number == 2627)
                    {
                        // Unique violation
                        errmsg = "Nummer war nicht eindeutig.";
                    }
                    else
                    {
                        // irgendein Fehler
                        errmsg = "Unbekannter DB-Fehler";
                    }
                    // Orginaltext noch anhängen
                    errmsg += "\n" + e.Message;
                    return(false);
                }
            }


            return(true);
        }