Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Working with MySql

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

    Working with MySql

    Is this correct???

    To edit mysql tables from an A5 'form' requires xbasic codeing...
    meaning most of the action-scripts are virtually useless...
    so If I code the entire form in xbasic....
    and it makes the appropriate changes to the sql table....
    I still have the refress the passive-link table...
    and then navigate to that specific record to see the changes I just made.

    Is this the only way I can see the sql data in a a5v8 form..make edits to the sql data from that from then see the changes I just made???

    #2
    Re: Working with MySql

    Mark

    A5v8 offers direct communication with SQL type databases via ADO Xdialogs and ADO connections via the application server (web pages).

    Forms do not work directly with SQL data in a5v8. Forms can work with data imported and passive linked tables where SQL tables are the source(imports and passive-linked tables are similar concepts but varied methods).

    Watch for future releases to have an active linked table or as reports do now, an <SQL database source>.

    Yes, you can code the reading and writing via ADO xbasic, but then you'd be doing the same thing that Alpha is preparing for a future version. (If you get that done, give me a call... ;) )
    Al Buchholz
    Bookwood Systems, LTD
    Weekly QReportBuilder Webinars Thursday 1 pm CST

    Occam's Razor - KISS
    Normalize till it hurts - De-normalize till it works.
    Advice offered and questions asked in the spirit of learning how to fish is better than someone giving you a fish.
    When we triage a problem it is much easier to read sample systems than to read a mind.
    "Make it as simple as possible, but not simpler."
    Albert Einstein

    http://www.iadn.com/images/media/iadn_member.png

    Comment


      #3
      Re: Working with MySql

      Thank you al for your reply.

      So if I wanted to create all my a5 tables in mysql and rebuild my database using mysql tables with a5 controlling the data...the forms would be virtually useless?

      For example i have a 7-11 type concession store where the POS's are built with a5 forms. if I had to redesign this system using mysql tables....could the a5 form still be an effective tool?

      Or would it take longer because after each cashier transaction entry that gets committed to the back-end table, the passive-link table would have to be refreshed before the cashier can see the result?

      ....may have long lag-time, no??

      This is a major problem for me.
      Right now I am required to build an application using a5 with mysql as the back-end database for a chain of retail stores.
      Is this even possible with the current a5v8?

      Comment


        #4
        Re: Working with MySql

        Mark,

        This can not be done with standard forms - yet! You will need to have a good look at the XDialog component of Alpha Five and see how to create your own forms that can use the AlphaDAO to directly connect with your MySQL database. It is certainly not as easy as using the standard forms, but there are a lot of advantages with one of the main ones being that XDialog forms do not need to be associated with a table.

        Suggest you search the form for AlphaDAO and XDialog and see what results you find. Also read those sections in the manual.

        Comment


          #5
          Re: Working with MySql

          Hmmm, reading this may have just put the brakes on my using A5 V8 for any of the development. They make it sound like you can do everything with everything and there aren't any limitations.

          Are there any tutorials available to show how to make a hybrid (or even just desktop ) application using a backend that the Enterprise version is said to support.

          I read this on their website and was part of my decision to purchase:

          Alpha Five Version 8 Enterprise Edition
          • includes everything in the Professional Edition,
          • offers the ability to work with SQL databases through ADO or the new Alpha DAO,
          • the Alpha Five Enterprise Report Builder - previously this was separately priced at $199,
          • the Alpha Five Database Explorer


          Build enterprise applications against Alpha�s built in dbf engine or any back-end data source using all of Alpha Five's proven web and desktop development tools.

          You would want this version if you intend working with any kind of SQL data either on desktop applications or web applications.
          Take advantage of the advanced browse options.
          Where does it say that half the capabilities will not work if you use "any back-end data source".

          Or (hopefully) I'm readin git incorrectly and just don't know what I'm doing yet.

          Comment


            #6
            Re: Working with MySql

            It's certainly possible to use MySQL as a backend -- I'm doing it now with some tables on both a web-based and desktop basis -- but you can't at present use Alpha Five forms. You have to use Xdialogs or the Web Application Server, and either one requires coding.
            Alpha Software is definitely working on creating "active link tables" which should let you work transparently with Alpha Five forms and SQL database engines.

            Comment


              #7
              Re: Working with MySql

              Originally posted by Peter.Wayne View Post
              It's certainly possible to use MySQL as a backend -- I'm doing it now with some tables on both a web-based and desktop basis -- but you can't at present use Alpha Five forms. You have to use Xdialogs or the Web Application Server, and either one requires coding.
              Alpha Software is definitely working on creating "active link tables" which should let you work transparently with Alpha Five forms and SQL database engines.
              Are there code examples somewhere that one can look at, of Xdialogs that use MySQL as a backend.

              Comment


                #8
                Re: Working with MySql

                Open the "Learning Xdialog" application (it's located in the A5V8 program folder) and navigate to the end of the scripts "What's New in V8". The last example is "Working with Alpha DAO" or something like that.

                The examples use the installed Access file but the point of AlphaDAO is that, once you successfully create your connection to the back end, everything else should be the same.
                Finian

                Comment


                  #9
                  Re: Working with MySql

                  Hi Peter
                  The scenario: Bookings are made to a MySQL database via a web interface (Not Alpha) An Alpha application is used to pull the bookings using passive-link tables (OrdersRM and OrderLinesRM) At the moment refresh oprations is used to update the passive-link tables based on primary keys to ignore already downloaded records. 2 Questions
                  1. I want to deploy this application at two sites using Atrum - Where do I find the ODBC connection string files. 2. What sort of response can I expect when refreshing a passive-link table from a MySQL table that has more than 70 000 records.

                  Thanks
                  Peter Gagiano
                  Last edited by gagsoft; 10-21-2007, 06:48 AM.

                  Comment


                    #10
                    Re: Working with MySql

                    One question is whether records, once entered, are ever changed? If so, then the "refresh" must refresh all records, not just new records.
                    70,000 records is not all that many but it could take a while on a internet network. If you find that refreshes are too slow, there's a better alternative. You can use MySQL's replication abilities to set up a local slave database on the same local network (or even the same computer) on which Alpha Five resides. MySQL will only send updates to the slave based on the logging of changes to the tables. You can then run whatever Alpha Five reports you need to run directly off the MySQL local tables -- you don't even need to create passive link tables (the report writer will invisibly create passive link tables for you).

                    - Peter

                    Comment


                      #11
                      Re: Working with MySql

                      Peter
                      Thank you for advice. My question 1 was: - I want to deploy this application at two sites using Atrum - Where do I find the ODBC connection string files so that I can compile it into the install set. What do you think of the following in terms of the bookings via the Internet?:- From the passive-link tables actual working tables are updated, The archiving and storing of the data is done on a local machine, and the booking tables on the remote MySQL database are flushed once a month to keep the records low. I did a dummy run and it seems to work fine. Can you anticipate any issues with this configuration?
                      Thanks
                      Peter gagiano

                      Comment


                        #12
                        Re: Working with MySql

                        Peter,
                        I,m not clear about your configuration. I don't know how Atrum will work -- from what I could find, it seems to be set up for internet relay chat and not for remote access, but I assume you know better if you think you can get it to work for your application. The ODBC connection string for MySQL would be something on the order of


                        dim cs as c="{A5API=MySQL,Server='hostName',Port='3306',UserName='userName
                        ',Password='password',Database='databaseName'}"

                        where, of course, hostName is the actual host or IP address, and similarly for the other parameters.
                        Port 3306 is the default port for MySQL.

                        I don't see any problems with your setup otherwise, but I'm not sure what you mean by "updating the working tables from the passive link tables." Are you updating some (large) Alpha Five tables from the (smaller) passive link tables that are in turn populated from the (recycled) MySQL tables?

                        Comment


                          #13
                          Re: Working with MySql

                          Hi Peter
                          I use seperate working tables because the passive-link tables get overwritten with every refresh. Then I use update operations to update the working tables and only new records are appended from the passive-link tables. Please see the attachement, a schematic depicting data flow.

                          Thank you for alll the help. It is really appreciated.

                          Peter Gagiano
                          Last edited by gagsoft; 10-22-2007, 01:57 AM.

                          Comment


                            #14
                            Re: Working with MySql

                            Peter
                            I want to create a passive-link table that I want to limit the amount of records with the WHERE clause(A date field that has a date on or after the current date). My problem is that it does not seem to accept the Curdate() function, only an argument like :thedate. and I cannot map a variable to an argument liek with the insert, update and delete scripts. Is there a way arrount this or am I doing something wrong?

                            Thanks
                            Peter Gagiano

                            Comment


                              #15
                              Re: Working with MySql

                              You should be able to use
                              dim args as sql::arguments
                              args.set(":thedate",date())

                              and then submit the SQL statement.
                              - Peter

                              Comment

                              Working...
                              X