コード例 #1
0
ファイル: ModulTyp.cs プロジェクト: heibik/Label
 public override void Object2Ui(Tabelle t)
 {
     if (t != null)
     {
         Typ_typ modell = t as Typ_typ;
         _uiTbBezeichnung.Text = modell.sBezeichnung;
     }
     else
     {
         _uiTbBezeichnung.Clear();
     }
 }
コード例 #2
0
ファイル: ModulTyp.cs プロジェクト: heibik/Label
        public override Tabelle Ui2Object(Tabelle record)
        {
            Typ_typ t;

            if (record == null)
            {
                t = new Typ_typ();
            }
            else
            {
                t = record as Typ_typ;
            }


            if (_uiTbBezeichnung.Text.Length == 0)
            {
                _uiTbBezeichnung.Focus();
                MessageBox.Show("Bezeichnung darf nicht leer sein!", "Fehlermeldung");
                return(null);
            }
            else
            {
                string bez = _uiTbBezeichnung.Text;
                foreach (Typ_typ item in Datenverwaltung.GetAllRecordsFromTable("Typ_typ"))
                {
                    if (item.sBezeichnung == bez)
                    {
                        MessageBox.Show("Bezeichnung muss eindeutig sein", "Fehlermeldung");
                        return(null);
                    }
                }
                t.sBezeichnung = _uiTbBezeichnung.Text;
            }



            return(t);
        }
コード例 #3
0
        //Biedro
        internal bool TypSpeichern(Typ_typ typ_typ, out string errmsg)
        {
            errmsg = ""; // Annahme: kein Fehler

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

                String sql;

                if (typ_typ.iId != null)
                {
                    sql = "UPDATE Aufkleber.Typ_typ SET sBezeichnung=@pbezeichnung " +
                          "WHERE iId=@pid";
                }
                else

                {
                    sql = "INSERT INTO Aufkleber.Typ_typ " +
                          "(sBezeichnung) " +
                          "VALUES (@pbezeichnung);" +
                          "SELECT SCOPE_IDENTITY();";
                }

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



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


                // cmd.Parameters.AddWithValue("@pid", typ_typ.iId);
                cmd.Parameters.AddWithValue("@pbezeichnung", typ_typ.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 (typ_typ.iId == null)
                    {
                        typ_typ.iId = Convert.ToInt32(cmd.ExecuteScalar());
                        Console.WriteLine("Neue Id: {0}", typ_typ.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);
        }