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. Conversion of a SQL model into a standard item model?

Conversion of a SQL model into a standard item model?

Scheduled Pinned Locked Moved Unsolved General and Desktop
qsqltablemodelqstandarditemmodata modelsproxiessoftware design
35 Posts 5 Posters 8.2k 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.
  • E elfring
    22 Oct 2018, 11:56

    The development of SQL data models can be useful for some software applications. Some applications might prefer to work still with a standard item model for a while instead.

    How often do you see the need to convert database information into the other programming interface by corresponding proxy model classes?

    V Offline
    V Offline
    VRonin
    wrote on 22 Oct 2018, 13:47 last edited by
    #2

    @elfring said in Conversion of a SQL model into a standard item model?:

    Some applications might prefer to work still with a standard item model for a while instead

    May I ask why?

    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
    ~Napoleon Bonaparte

    On a crusade to banish setIndexWidget() from the holy land of Qt

    E 1 Reply Last reply 22 Oct 2018, 13:52
    0
    • V VRonin
      22 Oct 2018, 13:47

      @elfring said in Conversion of a SQL model into a standard item model?:

      Some applications might prefer to work still with a standard item model for a while instead

      May I ask why?

      E Offline
      E Offline
      elfring
      wrote on 22 Oct 2018, 13:52 last edited by
      #3

      May I ask why?

      • Possible change resistance
      • Unclear development efforts (and additional dependencies) for a software transformation to better SQL data models
      V 1 Reply Last reply 22 Oct 2018, 13:58
      0
      • E elfring
        22 Oct 2018, 13:52

        May I ask why?

        • Possible change resistance
        • Unclear development efforts (and additional dependencies) for a software transformation to better SQL data models
        V Offline
        V Offline
        VRonin
        wrote on 22 Oct 2018, 13:58 last edited by
        #4

        @elfring said in Conversion of a SQL model into a standard item model?:

        Possible change resistance

        Deal with it.
        If you mean change in code, by only interacting with QStandardItemModel via the QAbstractItemModel interface as I always suggest, makes changing the model a matter of 1 code line

        Unclear development efforts (and additional dependencies)

        The additional dependency is the SQL module. Hard to get around it if you want to interact with an SQL database

        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
        ~Napoleon Bonaparte

        On a crusade to banish setIndexWidget() from the holy land of Qt

        E 1 Reply Last reply 22 Oct 2018, 14:07
        1
        • V VRonin
          22 Oct 2018, 13:58

          @elfring said in Conversion of a SQL model into a standard item model?:

          Possible change resistance

          Deal with it.
          If you mean change in code, by only interacting with QStandardItemModel via the QAbstractItemModel interface as I always suggest, makes changing the model a matter of 1 code line

          Unclear development efforts (and additional dependencies)

          The additional dependency is the SQL module. Hard to get around it if you want to interact with an SQL database

          E Offline
          E Offline
          elfring
          wrote on 22 Oct 2018, 14:07 last edited by
          #5

          … if you want to interact with an SQL database

          Unfortunately, the Qt software documentation mentions specific limitations for the class “QSqlTableModel” so far.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 22 Oct 2018, 14:10 last edited by
            #6

            Do you mean the ones solved by QSqlRelationalTableModel and QSqlRelationalDelegate mentioned in the documentation you are linking to ?

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

            E 1 Reply Last reply 22 Oct 2018, 14:18
            1
            • S SGaist
              22 Oct 2018, 14:10

              Do you mean the ones solved by QSqlRelationalTableModel and QSqlRelationalDelegate mentioned in the documentation you are linking to ?

              E Offline
              E Offline
              elfring
              wrote on 22 Oct 2018, 14:18 last edited by
              #7

              Maybe.

              Do both table model classes share still the main restriction on editing from a single database table?

              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 22 Oct 2018, 14:23 last edited by
                #8

                It's not a restriction, it's how the class works. QSqlTableModel as it name suggest allows access to one table.

                So what exactly are you after ?
                Specify a real situation
                Specify a real need

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

                E 1 Reply Last reply 22 Oct 2018, 14:28
                3
                • S SGaist
                  22 Oct 2018, 14:23

                  It's not a restriction, it's how the class works. QSqlTableModel as it name suggest allows access to one table.

                  So what exactly are you after ?
                  Specify a real situation
                  Specify a real need

                  E Offline
                  E Offline
                  elfring
                  wrote on 22 Oct 2018, 14:28 last edited by
                  #9

                  QSqlTableModel as it name suggest allows access to one table.

                  Can such classes collaborate also with database views?

                  V 1 Reply Last reply 22 Oct 2018, 14:37
                  0
                  • E elfring
                    22 Oct 2018, 14:28

                    QSqlTableModel as it name suggest allows access to one table.

                    Can such classes collaborate also with database views?

                    V Offline
                    V Offline
                    VRonin
                    wrote on 22 Oct 2018, 14:37 last edited by
                    #10

                    From the article you linked:

                    If the database system can determine the reverse mapping from the view schema to the schema of the underlying base tables, then the view is updatable. INSERT, UPDATE, and DELETE operations can be performed on updatable views.

                    Since there's no generic way for a Qt model to know that, it is left to the user to implement using QSqlQuery directly

                    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                    ~Napoleon Bonaparte

                    On a crusade to banish setIndexWidget() from the holy land of Qt

                    E 1 Reply Last reply 22 Oct 2018, 14:44
                    1
                    • V VRonin
                      22 Oct 2018, 14:37

                      From the article you linked:

                      If the database system can determine the reverse mapping from the view schema to the schema of the underlying base tables, then the view is updatable. INSERT, UPDATE, and DELETE operations can be performed on updatable views.

                      Since there's no generic way for a Qt model to know that, it is left to the user to implement using QSqlQuery directly

                      E Offline
                      E Offline
                      elfring
                      wrote on 22 Oct 2018, 14:44 last edited by
                      #11

                      Would it be nicer if a table model can determine if it is based on an updatable view?

                      1 Reply Last reply
                      0
                      • V Offline
                        V Offline
                        VRonin
                        wrote on 22 Oct 2018, 15:09 last edited by VRonin
                        #12

                        Yes, but once again

                        @VRonin said in Conversion of a SQL model into a standard item model?:

                        there's no generic way for a Qt model to know that

                        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                        ~Napoleon Bonaparte

                        On a crusade to banish setIndexWidget() from the holy land of Qt

                        E 1 Reply Last reply 22 Oct 2018, 15:39
                        1
                        • V VRonin
                          22 Oct 2018, 15:09

                          Yes, but once again

                          @VRonin said in Conversion of a SQL model into a standard item model?:

                          there's no generic way for a Qt model to know that

                          E Offline
                          E Offline
                          elfring
                          wrote on 22 Oct 2018, 15:39 last edited by
                          #13

                          Do full-featured standard item models become a bit more attractive then?

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on 22 Oct 2018, 19:06 last edited by
                            #14

                            Attractive for what ?

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

                            E 1 Reply Last reply 28 Oct 2018, 13:10
                            1
                            • S SGaist
                              22 Oct 2018, 19:06

                              Attractive for what ?

                              E Offline
                              E Offline
                              elfring
                              wrote on 28 Oct 2018, 13:10 last edited by
                              #15

                              Would you like to compare the attractiveness of the mentioned data model variants any further?

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                SGaist
                                Lifetime Qt Champion
                                wrote on 28 Oct 2018, 21:45 last edited by
                                #16

                                I'll let you start by providing the analysis you want to discuss about.

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

                                E 1 Reply Last reply 29 Oct 2018, 08:49
                                3
                                • S SGaist
                                  28 Oct 2018, 21:45

                                  I'll let you start by providing the analysis you want to discuss about.

                                  E Offline
                                  E Offline
                                  elfring
                                  wrote on 29 Oct 2018, 08:49 last edited by
                                  #17

                                  Is there a “development competition” going on between data processing by SQL queries and/or Qt standard items?

                                  J 1 Reply Last reply 29 Oct 2018, 09:17
                                  0
                                  • E elfring
                                    29 Oct 2018, 08:49

                                    Is there a “development competition” going on between data processing by SQL queries and/or Qt standard items?

                                    J Offline
                                    J Offline
                                    JKSH
                                    Moderators
                                    wrote on 29 Oct 2018, 09:17 last edited by JKSH
                                    #18

                                    @elfring said in Conversion of a SQL model into a standard item model?:

                                    Is there a “development competition” going on between data processing by SQL queries and/or Qt standard items?

                                    No, there is no competition going on.

                                    @elfring, what is your goal for asking us these questions? Are you trying to get us to write a "software extension" for you?

                                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                    E 1 Reply Last reply 29 Oct 2018, 09:57
                                    3
                                    • J JKSH
                                      29 Oct 2018, 09:17

                                      @elfring said in Conversion of a SQL model into a standard item model?:

                                      Is there a “development competition” going on between data processing by SQL queries and/or Qt standard items?

                                      No, there is no competition going on.

                                      @elfring, what is your goal for asking us these questions? Are you trying to get us to write a "software extension" for you?

                                      E Offline
                                      E Offline
                                      elfring
                                      wrote on 29 Oct 2018, 09:57 last edited by
                                      #19

                                      I hope that more software evolution can happen in this area so that the switching between discussed data models might become easier.

                                      J 1 Reply Last reply 29 Oct 2018, 23:44
                                      0
                                      • E elfring
                                        29 Oct 2018, 09:57

                                        I hope that more software evolution can happen in this area so that the switching between discussed data models might become easier.

                                        J Offline
                                        J Offline
                                        JKSH
                                        Moderators
                                        wrote on 29 Oct 2018, 23:44 last edited by JKSH
                                        #20

                                        @elfring said in Conversion of a SQL model into a standard item model?:

                                        I hope that more software evolution can happen in this area so that the switching between discussed data models might become easier.

                                        We will not perform this "software evolution" because we cannot see any good reason to provide additional conversion/switching between QSqlTableModel and QStandardItemModel. Furthermore, none of your posts above provide convincing arguments for this conversion/switching.

                                        Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                        E 1 Reply Last reply 30 Oct 2018, 08:17
                                        3
                                        • J JKSH
                                          29 Oct 2018, 23:44

                                          @elfring said in Conversion of a SQL model into a standard item model?:

                                          I hope that more software evolution can happen in this area so that the switching between discussed data models might become easier.

                                          We will not perform this "software evolution" because we cannot see any good reason to provide additional conversion/switching between QSqlTableModel and QStandardItemModel. Furthermore, none of your posts above provide convincing arguments for this conversion/switching.

                                          E Offline
                                          E Offline
                                          elfring
                                          wrote on 30 Oct 2018, 08:17 last edited by
                                          #21

                                          Will other Qt users share more convincing arguments from involved software development challenges?

                                          J J 2 Replies Last reply 30 Oct 2018, 08:21
                                          0

                                          11/35

                                          22 Oct 2018, 14:44

                                          24 unread
                                          • Login

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