Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Database & SysAdmin
  3. Database
  4. Validate Date Time value on Sqlite before insert / update

Validate Date Time value on Sqlite before insert / update

Scheduled Pinned Locked Moved Database
sqlitequestionannouncement
15 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R rahmat1985

    as we all know that the correct format for date and time data in sqlite is : 2014-06-18 01:00:00 my question : is there any method to validate date and time data before insert / update on sqlite, maybe when making table, to make sure date and time data is correct, thanks

    M Offline
    M Offline
    Mycroft Holmes
    wrote on last edited by
    #2

    You should be storing the data as a datetime TYPE not a string, therefore convert (TryParse) your string input to a datetime and pass it to the database in the correct data type using a paramaterised query. If it fails the tryparse it is invalid

    Never underestimate the power of human stupidity RAH

    L 1 Reply Last reply
    0
    • R rahmat1985

      as we all know that the correct format for date and time data in sqlite is : 2014-06-18 01:00:00 my question : is there any method to validate date and time data before insert / update on sqlite, maybe when making table, to make sure date and time data is correct, thanks

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #3

      rahmat1985 wrote:

      as we all know that the correct format for date and time data in sqlite is : 2014-06-18 01:00:00

      No it isn't. Dates and times should always be stored as DATETIME types, which are just numeric values. It is only when they are displayed in human readable form that they may look like that, or 18/06/2014 01:00:00 PM, or any other format that the user desires.

      1 Reply Last reply
      0
      • M Mycroft Holmes

        You should be storing the data as a datetime TYPE not a string, therefore convert (TryParse) your string input to a datetime and pass it to the database in the correct data type using a paramaterised query. If it fails the tryparse it is invalid

        Never underestimate the power of human stupidity RAH

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #4

        Mycroft Holmes wrote:

        You should be storing the data as a datetime TYPE not a string

        SQLite does not have a DATETIME datatype. I'd recommend storing it as an integer, as recommend on their website[^].

        Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

        M B 2 Replies Last reply
        0
        • R rahmat1985

          as we all know that the correct format for date and time data in sqlite is : 2014-06-18 01:00:00 my question : is there any method to validate date and time data before insert / update on sqlite, maybe when making table, to make sure date and time data is correct, thanks

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #5

          No, there isn't. You validate it in code before inserting/updating.

          Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

          1 Reply Last reply
          0
          • R rahmat1985

            as we all know that the correct format for date and time data in sqlite is : 2014-06-18 01:00:00 my question : is there any method to validate date and time data before insert / update on sqlite, maybe when making table, to make sure date and time data is correct, thanks

            J Offline
            J Offline
            jschell
            wrote on last edited by
            #6

            Steps: Choose the data type that it is actually going to be stored as. Take a value and use on of the sqllite functions to convert it to a different type. Take that value and convert it back to the original type. If they are the same then it is valid. So if you start with text, convert it to a number, then convert the number back to text and compare the original text and the final text.

            1 Reply Last reply
            0
            • L Lost User

              Mycroft Holmes wrote:

              You should be storing the data as a datetime TYPE not a string

              SQLite does not have a DATETIME datatype. I'd recommend storing it as an integer, as recommend on their website[^].

              Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

              M Offline
              M Offline
              Mycroft Holmes
              wrote on last edited by
              #7

              Eddy Vluggen wrote:

              SQLite does not have a DATETIME datatype

              Now that I did not know.

              Never underestimate the power of human stupidity RAH

              1 Reply Last reply
              0
              • L Lost User

                Mycroft Holmes wrote:

                You should be storing the data as a datetime TYPE not a string

                SQLite does not have a DATETIME datatype. I'd recommend storing it as an integer, as recommend on their website[^].

                Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                B Offline
                B Offline
                Bernhard Hiller
                wrote on last edited by
                #8

                Eddy Vluggen wrote:

                SQLite does not have a DATETIME datatype

                Hard to believe, but true. Poor guys who have to deal with such crap!

                L P 2 Replies Last reply
                0
                • B Bernhard Hiller

                  Eddy Vluggen wrote:

                  SQLite does not have a DATETIME datatype

                  Hard to believe, but true. Poor guys who have to deal with such crap!

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #9

                  Bernhard Hiller wrote:

                  Hard to believe, but true. Poor guys who have to deal with such crap!

                  I prefer this crap over SqlCe, MS Access, XML and Excel as a single-file database. A DateTime is usually merely a double; a boolean is usually merely a bit. SQLite is lightweight; you won't find a XML, GUID nor a Spatial datatype either - because all those types can be derived from what is already there. The only thing that seemed weird is that the bool is associated with a numeric type, and not an integer-type.

                  Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                  P 1 Reply Last reply
                  0
                  • B Bernhard Hiller

                    Eddy Vluggen wrote:

                    SQLite does not have a DATETIME datatype

                    Hard to believe, but true. Poor guys who have to deal with such crap!

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #10

                    Bernhard Hiller wrote:

                    have to deal with such crap

                    Seems a choice to me.

                    You'll never get very far if all you do is follow instructions.

                    1 Reply Last reply
                    0
                    • L Lost User

                      Bernhard Hiller wrote:

                      Hard to believe, but true. Poor guys who have to deal with such crap!

                      I prefer this crap over SqlCe, MS Access, XML and Excel as a single-file database. A DateTime is usually merely a double; a boolean is usually merely a bit. SQLite is lightweight; you won't find a XML, GUID nor a Spatial datatype either - because all those types can be derived from what is already there. The only thing that seemed weird is that the bool is associated with a numeric type, and not an integer-type.

                      Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                      P Offline
                      P Offline
                      PIEBALDconsult
                      wrote on last edited by
                      #11

                      I'll stick with SqlCe when given a choice; better to have features I don't use than miss features I want. And have you looked at Sql Server LocalDB?

                      You'll never get very far if all you do is follow instructions.

                      L 1 Reply Last reply
                      0
                      • R rahmat1985

                        as we all know that the correct format for date and time data in sqlite is : 2014-06-18 01:00:00 my question : is there any method to validate date and time data before insert / update on sqlite, maybe when making table, to make sure date and time data is correct, thanks

                        P Offline
                        P Offline
                        PIEBALDconsult
                        wrote on last edited by
                        #12

                        rahmat1985 wrote:

                        as we all know

                        We don't all know that.

                        You'll never get very far if all you do is follow instructions.

                        1 Reply Last reply
                        0
                        • P PIEBALDconsult

                          I'll stick with SqlCe when given a choice; better to have features I don't use than miss features I want. And have you looked at Sql Server LocalDB?

                          You'll never get very far if all you do is follow instructions.

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #13

                          PIEBALDconsult wrote:

                          And have you looked at Sql Server LocalDB?

                          I tried, but failed at downloading[^] it.

                          PIEBALDconsult wrote:

                          I'll stick with SqlCe when given a choice; better to have features I don't use than miss features I want.

                          So you'll be replacing all those SqlCe's with Sql-express versions? SqlCe and SQLite are a close match; but I like to run my code as well on my OpenSUSE desktop and there's no SqlCe there :)

                          Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                          P 1 Reply Last reply
                          0
                          • L Lost User

                            PIEBALDconsult wrote:

                            And have you looked at Sql Server LocalDB?

                            I tried, but failed at downloading[^] it.

                            PIEBALDconsult wrote:

                            I'll stick with SqlCe when given a choice; better to have features I don't use than miss features I want.

                            So you'll be replacing all those SqlCe's with Sql-express versions? SqlCe and SQLite are a close match; but I like to run my code as well on my OpenSUSE desktop and there's no SqlCe there :)

                            Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                            P Offline
                            P Offline
                            PIEBALDconsult
                            wrote on last edited by
                            #14

                            Eddy Vluggen wrote:

                            replacing all those SqlCe's with Sql-express versions

                            No. The other way around. :-D I use Express for a few things, but for one of my projects I wanted to be able to have the app on a flash drive and not require a server/service/daemon running. That way it can be carried around and used whereever. So now I allow the app to use Ce or regular Sql Server, whichever the user wants to use. All the tables and SQL statements are the same (including DATEs and GUIDs), only the Provider is different.

                            You'll never get very far if all you do is follow instructions.

                            L 1 Reply Last reply
                            0
                            • P PIEBALDconsult

                              Eddy Vluggen wrote:

                              replacing all those SqlCe's with Sql-express versions

                              No. The other way around. :-D I use Express for a few things, but for one of my projects I wanted to be able to have the app on a flash drive and not require a server/service/daemon running. That way it can be carried around and used whereever. So now I allow the app to use Ce or regular Sql Server, whichever the user wants to use. All the tables and SQL statements are the same (including DATEs and GUIDs), only the Provider is different.

                              You'll never get very far if all you do is follow instructions.

                              L Offline
                              L Offline
                              Lost User
                              wrote on last edited by
                              #15

                              ..and might even work relative happily using a different provider[^] on a Raspberry Pi :-D

                              Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups