Announcement

Collapse
No announcement yet.

Oracle TIMESTAMP(9) in Datagrid

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Oracle TIMESTAMP(9) in Datagrid

    hallo c#ler,

    habe nen, für euch kleines prob...

    wie kann ich ein Oracle TIMESTAMP(9) in voller länge darstellen?

    .Net macht mir im Databinding daraus einen System.DateTime und das endet bei den sekunden. :-(

    klar könnte ich es bereits DB-Seitig in einer View zum string /varchar2 wandeln, aber das kann ja nicht sinn und zweck der sache sein oder?

    danke

    jogi

  • #2
    .Net macht mir im Databinding daraus einen System.DateTime und das endet bei den sekunden. :-(
    Vorraussichtlich siehst du dir den DateTime nur falsch an. DateTime hat eine deutlich höhere Auflösung als Sekunden. Falls du dir den DateTime in irgendeinem Control anzeigst solltest du also auch das korrektes/gewünschte Format einstellen.

    Comment


    • #3
      Originally posted by Ralf Jansen View Post
      Vorraussichtlich siehst du dir den DateTime nur falsch an. DateTime hat eine deutlich höhere Auflösung als Sekunden. Falls du dir den DateTime in irgendeinem Control anzeigst solltest du also auch das korrektes/gewünschte Format einstellen.
      danke für den rat!

      nur kann man wohl nicht dd.mm.yyyy hh24:mi:ss.sssssssss einstellen!?
      (so einfach geht das unter oracle)

      ergo:
      was muss ich in dem dialog für die Formatierungszeichenfolge einer zelle eines grids einstellen?

      bin noch nicht so weit unter .NET doch übung soll ja angeblich den meister machen...

      Comment


      • #4
        Hi Jogi,

        probier doch mal das Format so zu setzen.

        DateTime.Now.ToString("hh:mm:ss.ffffff")

        Das habe ich nach einer kurzen Google Attacke von hier.

        Gruß Womble

        Comment


        • #5
          Ein DateTime hat kein Format. Bei der Umwandlung einen DateTimes in einen String bzw. umgekehrt bedarf es eines Formats. Das sollte in Oracle nicht anders sein.

          Die möglichen Formatstrings findest du hier(Standardformate) bzw. hier(freie Formate). Anzuwenden bei der Umwandlung (ToString) oder in der Format Property des jeweilig benutzten Controls. Im DataGridView hat die DataColumn ein DefaultCellStyle mit der Format Property zum einstellen.

          Comment


          • #6
            so...nu habe ich mich mit dem datums forrmat "O" zufrieden gegeben.
            habe dort zwar nicht das deutsche datenformat aber sei es drum.

            die dokumentation ist ja ehrlich gesagt sehr sehr cryptisch und für jemanden der nicht aus dieser denke kommt nicht zu begreifen.

            es ist nicht nachzulesen wie man bei einer zelle diese entsprechenden eigenschaften "einstellt". (auf EINSTELLT liegt die betonung)

            jetzt kämpfe ich mit dem nächsten "käse".

            in dem selben grid möchte ich basierend auf dem Datum ein ico aus einer Imagelist darstellen....gott...was für nen drama.

            wenn ich es nicht müsste, würde ich .NET sofort wieder deinstallieren...

            Muss ich das "GridControl" jetzt irgendwie triggern damit dort nen ico dargestellt wird????

            sorry jungs/mädels... trotz kurs verstehe ich nur bhf...
            komme nun mal aus der oracle pl/sql programmierung...

            Comment


            • #7
              in dem selben grid möchte ich basierend auf dem Datum ein ico aus einer Imagelist darstellen....gott...was für nen drama.
              Ich sehe keinen Zusammenhang zwischen einen Datum und einem Icon. Das solltest du schon näher erklären was du vor hast.

              komme nun mal aus der oracle pl/sql programmierung
              Wenn der Stil erst mal versaut ist können wir hier auch nur noch wenig retten

              Und wenn du in jedem 2.ten Satz deinen Wiederwillen ausdrückst macht es auch wenig Spaß es trotzdem zu versuchen. Also versuche wenigstens neutral zu bleiben. Bedenke viele hier werden genau umgekehrt über dein Lieblingstool denken aus dem selben Grund wie du einfach nur weil man es besser kennt. Nicht weil es schlechter oder besser ist sondern eben nur anders.

              Comment


              • #8
                Ich würde vielleicht das Grid auch nicht direkt an die Datenquelle binden, sondern dazwischen noch einen Formatierungslayer einfügen wenn schon komplexere Formatierungen (z.B. das Icon oder Text Formate) anstehen.
                Dann hast Du selbst die Kontrolle wann was wie im Gitter angezeigt wird und muss sich nicht auf die Mechanismen des Gitters verlassen. Ich find die nämlich auch blöd :P

                Comment


                • #9
                  Originally posted by Ralf Jansen View Post
                  Ich sehe keinen Zusammenhang zwischen einen Datum und einem Icon. Das solltest du schon näher erklären was du vor hast.
                  ja sorry.. damit hast du natürlich recht!
                  wäre besser einen neuen thread zu eröffnen.

                  Wenn der Stil erst mal versaut ist können wir hier auch nur noch wenig retten
                  gröhl... ja was hatte ich mir auch dabei gedacht...

                  Und wenn du in jedem 2.ten Satz deinen Wiederwillen ausdrückst macht es auch wenig Spaß es trotzdem zu versuchen. Also versuche wenigstens neutral zu bleiben. Bedenke viele hier werden genau umgekehrt über dein Lieblingstool denken aus dem selben Grund wie du einfach nur weil man es besser kennt. Nicht weil es schlechter oder besser ist sondern eben nur anders.
                  naja...auch hier entschuldige ich mich in aller form bei den lesern dieses threads. ist nur ziemlich frustrierend....

                  du hast natürlich recht, es treffen unterschiedliche sichtweisen und kenntnisebenen aufeinander.

                  wenn ich .NET und dessen aufbau einmal vllt. durchdrungen habe, sehe ich es aller wahrscheinlichkeit nach anders.

                  danke dir noch mal.

                  jogi

                  Comment


                  • #10
                    Originally posted by fanderlf View Post
                    Ich würde vielleicht das Grid auch nicht direkt an die Datenquelle binden, sondern dazwischen noch einen Formatierungslayer einfügen wenn schon komplexere Formatierungen (z.B. das Icon oder Text Formate) anstehen.
                    Dann hast Du selbst die Kontrolle wann was wie im Gitter angezeigt wird und muss sich nicht auf die Mechanismen des Gitters verlassen. Ich find die nämlich auch blöd :P
                    wie bereits geschrieben, ich habe gerade mal 1 kurs belegen dürfen und soll das jetzt erstmal anwenden bevor man mich wieder in eine fortbildung schickt.

                    meinst du das ich mir eine class baue mit dem ich die daten lese und dann in das grid überführe?

                    greetz

                    Jogi

                    Comment


                    • #11
                      Du hast ja die Eingangsdaten in irgendeiner Form... z.B.:

                      [highlight=c#]
                      public class DatenAusDb
                      {
                      public DateTime Datum { get; set; }
                      public String IrgendeinText { get; set; }
                      }

                      public class DatenAusDbGridView
                      {
                      private DatenAusDb _daten;

                      public class DatenAusDbGridView(DatenAusDb daten)
                      {
                      _daten = daten;
                      }

                      public DatenAusDb OriginalDaten { get { return _daten; } }

                      public String FormatiertestDatum
                      {
                      get { return String.Format("{0}", _daten.Datum; }
                      set { _daten.Datum = DateTime.Parste(value); }
                      }

                      public String IrgendeinText
                      {
                      get { return _daten.IrgendeinText.ToLower(); }
                      set { _daten.IrgendeinText = _daten.ToUpper(); }
                      }

                      public Image DatumsBild
                      {
                      get { return _daten.Datum > DateTime.Now? Resources.Zunkuftbild : Resources.VergangenheitBild;
                      }
                      }
                      [/highlight]

                      So wenn Du jetzt Daten aus der DB liest packst Du jede Zeile in so eine GridView. Damit kannst Du z.B. ändern dass alle Strings klein anzeigt werden und groß in der DB abgelegt werden. Genauso kannst Du bestimmen wie das Datum angezeigt und wieder zurück geparst werden. Dazu kannst Du noch Logik packen die Dir Dein Datum in ein Bild umwandelt.
                      Und diese Klasse bindest Du nun an das Gitter.
                      Willst Du speichernn holst Du Dir wieder alle OriginalDaten raus (diese wurden ja durch das Gitter verändert) und führst ein update auf die DB aus

                      Hoffe das hat etwas geholfen

                      Comment

                      Working...
                      X