Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Newbie at Qt looking for some advice
QtWS25 Last Chance

Newbie at Qt looking for some advice

Scheduled Pinned Locked Moved Unsolved General and Desktop
newbiehelpc++qtcreator
23 Posts 7 Posters 8.4k Views
  • 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.
  • M mrjj
    19 Nov 2015, 18:33

    hi, its pretty good description.
    One important question is.
    Will more than one "head" make reviews at the same time ?
    That is - multiple copies of the program run on different computers and access and change that
    data at the same time?
    If yes, you (might) need a database server.

    How good are you with SQL ? (if I may ask)

    J Offline
    J Offline
    joeshmo
    wrote on 19 Nov 2015, 21:59 last edited by
    #13

    Hi,

    The was I was planning it is that it would be 1 "head" per computer. This means the program will not be pre-made, as such, with any information in it and the "head" will fill in the information for the members of staff they supervise the first time they open the program. Because of this, each head will have a the same program on their computer but they will not share data and will each be filled in with different members of staff's information.

    In the class we briefly touched on some SQL , probably very basic stuff, so I'm quite new to that as well. I made notes on it, and I'm sure there will be some tutorials out there somewhere I can use but I wouldn't say I'm confident.

    As an extra, I finally got my head around why I would like the tables to be linked relationally:
    1 member of staff record (parent) will be linked to all observation/QA records on separate (child) tables that involve them so. This hopefully makes sense, but we can cross that bridge in a bit.

    I really appreciate your willing to help me, as I am at quite a confused loss!

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 19 Nov 2015, 23:04 last edited by
      #14

      Doing so you are going to run into data duplication (e.g. multiple copies of the same user with all the problems that come with entering the same names multiple times) and also problem of synchronization, retrieval of data etc.

      Even if it's not the easiest path, you should consider the use of a SQL server (PostgreSQL, MySQL or MariaDB) It's not overly complicated to setup though.

      If you have one at hand, you should talk with a DB admin, he can help you get the database schema correctly.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      J 1 Reply Last reply 20 Nov 2015, 11:50
      0
      • S SGaist
        19 Nov 2015, 23:04

        Doing so you are going to run into data duplication (e.g. multiple copies of the same user with all the problems that come with entering the same names multiple times) and also problem of synchronization, retrieval of data etc.

        Even if it's not the easiest path, you should consider the use of a SQL server (PostgreSQL, MySQL or MariaDB) It's not overly complicated to setup though.

        If you have one at hand, you should talk with a DB admin, he can help you get the database schema correctly.

        J Offline
        J Offline
        joeshmo
        wrote on 20 Nov 2015, 11:50 last edited by
        #15

        @SGaist Thanks for the suggestions.

        My program will not have Head of faculty information stored, so will only be teacher information and observation records. Because of this, I hopefully will result in 1 user per instance of the program and (if I understand your previous comment correctly, sorry if I didn't) then does not have any of the problems you mentioned.

        I'm starting to understand what I will need to do for the project, but I'm still not confident.

        I would like to make a start and see where it gets me so I will use ms access instead of SQLite manager, but cannot find how to link Qt to the access database. I keep hearing about the ODBC driver, but that means nothing to me. Any chance you know a good explanation for this you could send me?

        Thanks very much!

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mrjj
          Lifetime Qt Champion
          wrote on 20 Nov 2015, 15:33 last edited by mrjj
          #16

          Hi.
          If you are really really sure the heads do not expect to share staff info and
          the project is a personal tool for each and no reports is shared then you can
          make it a single user app. but beware of all what @SGaist mentions as you will get
          these problems if the heads try to share any of the data.

          Before digging into what data base to use. May I suggest you write up all
          information you wish to record. spend some time thinking about what you need to store.
          write it all up. You are going to need this a lot for creating the database. so
          don't start coding before you have full list of what data.

          ODBC driver.
          This is a common driver that give the same set of functions to talk to a database system.
          Normally, each system has its on functions. BUt if it support ODBC, it means its
          able to be handled the same regardless of the actual database.
          https://en.wikipedia.org/wiki/Open_Database_Connectivity

          Last time i used ACCESS database, it was very slow over network.

          So find out if you want single user or multiuser.
          then choose DB system.
          Most likely the heads expects to share staff info.
          So multi user. and u need something like PostgreSQL

          J 1 Reply Last reply 20 Nov 2015, 17:26
          0
          • M mrjj
            20 Nov 2015, 15:33

            Hi.
            If you are really really sure the heads do not expect to share staff info and
            the project is a personal tool for each and no reports is shared then you can
            make it a single user app. but beware of all what @SGaist mentions as you will get
            these problems if the heads try to share any of the data.

            Before digging into what data base to use. May I suggest you write up all
            information you wish to record. spend some time thinking about what you need to store.
            write it all up. You are going to need this a lot for creating the database. so
            don't start coding before you have full list of what data.

            ODBC driver.
            This is a common driver that give the same set of functions to talk to a database system.
            Normally, each system has its on functions. BUt if it support ODBC, it means its
            able to be handled the same regardless of the actual database.
            https://en.wikipedia.org/wiki/Open_Database_Connectivity

            Last time i used ACCESS database, it was very slow over network.

            So find out if you want single user or multiuser.
            then choose DB system.
            Most likely the heads expects to share staff info.
            So multi user. and u need something like PostgreSQL

            J Offline
            J Offline
            joeshmo
            wrote on 20 Nov 2015, 17:26 last edited by
            #17

            @mrjj That makes a lot of sense, thanks :)

            Is it possible for the data to be printed, ie the whole gui page showing the reviews to be printed?

            If not, then I will probably look into the PostgreSQL and making the program multi user

            In regards to the information I want to record, I have already done that for the teacher info, Observations and QA just incase I am going to use both. Because of this, I am quite ready to start coding, but thanks for checking that I had that :)

            Any idea where I should start looking if I want to use PostgreSQL and can that link tables relationally?

            (Sorry if I'm sounding a bit obsessed with linking tables!)

            Thank you all very much!

            M 1 Reply Last reply 20 Nov 2015, 17:37
            0
            • J joeshmo
              20 Nov 2015, 17:26

              @mrjj That makes a lot of sense, thanks :)

              Is it possible for the data to be printed, ie the whole gui page showing the reviews to be printed?

              If not, then I will probably look into the PostgreSQL and making the program multi user

              In regards to the information I want to record, I have already done that for the teacher info, Observations and QA just incase I am going to use both. Because of this, I am quite ready to start coding, but thanks for checking that I had that :)

              Any idea where I should start looking if I want to use PostgreSQL and can that link tables relationally?

              (Sorry if I'm sounding a bit obsessed with linking tables!)

              Thank you all very much!

              M Offline
              M Offline
              mrjj
              Lifetime Qt Champion
              wrote on 20 Nov 2015, 17:37 last edited by
              #18

              @joeshmo
              1: Is it possible for the data to be printed, ie the whole gui page showing the reviews to be printed?
              well yes, you can render controls to a paper page but normally you would create a pdf or
              print out the data in some other way. like a report.
              Else print will be like a screenshot. But possible.

              2: Any idea where I should start looking if I want to use PostgreSQL and can that link tables relationally?
              this is good first start
              https://forum.qt.io/topic/33926/postgresql-and-trying-to-connect-using-qt/20
              Note: version are bit older, so adjust names.
              and also
              https://www.youtube.com/watch?v=3XE2bKUAxfw

              3:(Sorry if I'm sounding a bit obsessed with linking tables!)
              Its ok. you will need that a lot.
              When you reference something from one table to another you use
              keys. that is your linking.
              http://www.tutorialspoint.com/sql/sql-foreign-key.htm

              How much time do you have for the project?

              J 1 Reply Last reply 21 Nov 2015, 19:16
              0
              • M mrjj
                20 Nov 2015, 17:37

                @joeshmo
                1: Is it possible for the data to be printed, ie the whole gui page showing the reviews to be printed?
                well yes, you can render controls to a paper page but normally you would create a pdf or
                print out the data in some other way. like a report.
                Else print will be like a screenshot. But possible.

                2: Any idea where I should start looking if I want to use PostgreSQL and can that link tables relationally?
                this is good first start
                https://forum.qt.io/topic/33926/postgresql-and-trying-to-connect-using-qt/20
                Note: version are bit older, so adjust names.
                and also
                https://www.youtube.com/watch?v=3XE2bKUAxfw

                3:(Sorry if I'm sounding a bit obsessed with linking tables!)
                Its ok. you will need that a lot.
                When you reference something from one table to another you use
                keys. that is your linking.
                http://www.tutorialspoint.com/sql/sql-foreign-key.htm

                How much time do you have for the project?

                J Offline
                J Offline
                joeshmo
                wrote on 21 Nov 2015, 19:16 last edited by joeshmo
                #19

                @mrjj I have until about easter time 2016 for the project to be completed.

                I have written work relating to the project too, so it does not need to be top of the range, just something that is easy to navigate and does what I want it to do.

                M 1 Reply Last reply 21 Nov 2015, 19:48
                0
                • J joeshmo
                  21 Nov 2015, 19:16

                  @mrjj I have until about easter time 2016 for the project to be completed.

                  I have written work relating to the project too, so it does not need to be top of the range, just something that is easy to navigate and does what I want it to do.

                  M Offline
                  M Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on 21 Nov 2015, 19:48 last edited by
                  #20

                  @joeshmo
                  Ok. well you should have time to make it multi user if needed then.

                  If the project are really going to be used multiuser,you need a pc that can act as server.

                  Have you considered a web service instead of qt client application. ?
                  something like
                  https://www.djangoproject.com/start/overview/

                  If you really need to make it a real multi user app.
                  That way maintenance etc is lighter.

                  1 Reply Last reply
                  0
                  • J joeshmo
                    17 Nov 2015, 17:19

                    Hi everyone,

                    I have started using Qt and C++ quite recently in order to complete my project for my final year of computing at college. As I am new, I am a bit unsure on what I can do, cant do and sometimes how to do it.

                    I am using Qt creator and, at the moment, SQLite Manager as I need to use a database in my project but don't have MS access.

                    I don't have any examples, but I was wondering if anyone may be able to answer some of my questions, or could show me where to go in order to find the answers I need.

                    Any help with either SQLite or Qt would be very much appreciated!

                    Thanks very much!

                    L Offline
                    L Offline
                    Lineaxe
                    wrote on 22 Nov 2015, 00:15 last edited by
                    #21

                    @joeshmo
                    Hi , you can use ms access inside your c++ C# or whatever language projects. Microsoft gives it away I think to encourage people to use it over MySql ,Oracle and others. Recently I used ms access for my local database ,and used MySQL as a remote database running on a Linux machine .

                    J 1 Reply Last reply 22 Nov 2015, 08:58
                    0
                    • L Lineaxe
                      22 Nov 2015, 00:15

                      @joeshmo
                      Hi , you can use ms access inside your c++ C# or whatever language projects. Microsoft gives it away I think to encourage people to use it over MySql ,Oracle and others. Recently I used ms access for my local database ,and used MySQL as a remote database running on a Linux machine .

                      J Offline
                      J Offline
                      joeshmo
                      wrote on 22 Nov 2015, 08:58 last edited by
                      #22

                      @Lineaxe cool thanks!

                      Could you show me where I can find out how to use ms access in c++?
                      Also, if you mean Microsoft give it away free, I'm yet to find it free anywhere!

                      Thanks

                      M 1 Reply Last reply 22 Nov 2015, 14:04
                      0
                      • J joeshmo
                        22 Nov 2015, 08:58

                        @Lineaxe cool thanks!

                        Could you show me where I can find out how to use ms access in c++?
                        Also, if you mean Microsoft give it away free, I'm yet to find it free anywhere!

                        Thanks

                        M Offline
                        M Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on 22 Nov 2015, 14:04 last edited by
                        #23

                        @joeshmo

                        You would be using ACCES via ODBC

                        here they talk about that
                        http://stackoverflow.com/questions/22552302/how-to-use-m-s-access-in-qt

                        1 Reply Last reply
                        0

                        22/23

                        22 Nov 2015, 08:58

                        • Login

                        • Login or register to search.
                        22 out of 23
                        • First post
                          22/23
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved