Database access via "DataControl" fail & Crash!

Hi there

I got a issue with the control “DataControl” which allow you to manage a database and perform binding.

I got 2 big issus:

  1. The DataControl Itself do not register the properties (settings) in the ‘Behavior Panel’ , such as “DataBase” + “Table”. Indeed, whenever your enter a value and
    leave that control to do something else, in Xojo, these properties are cleared, in a nutshell when you set these properties and leave the control these properties
    turned to empty? Thus, How can I set and keep these properties ? and make that control working ?

  2. Whenever I use the control “DataControl” which do not work at all, since I cannot register any value " DataBase" + “Table” Then Xojo Crash??
    It is impossible to go along with Xojo as soon as you include that control “DataControl” and you try to run it or to change some properties

I Can even say the sample provided “DataControlSample” do not work and make Xojo really unstable since it crashes after a little while when you go thru
that sample.

Please, does anyone experienced such of tedious event and is there anything to fix this up ?
I’m running Xojo ‘2015R2.2’ under Mac OS10.10.2 (Yosemite)

Cheers

you will find most people here will discourage the use of the data control. The concept is antiquated at best.

Proper use of SQL is highly reccommended instead.

<https://xojo.com/issue/34821>

https://forum.xojo.com/18489-datacontrol-not-connecting-to-database/p1#p154397

I disagree Dave…
I bought a package Xojo Pro and all the component must be working properly, and no matter if there is a supposing better solution or workaround solution to meet a target…
The concept of the “DataControl” or “DataQuery” is to allow any new beginner in DEV to create APPS with ease.
Moreover these components allow you to carry out “data Binding”…
Thus, as in the previous release these component worked perfectly, I just wonder if Xojo runs Regression Testing to make sure that
all previous functionalities will be working accordingly.
There will always be some people who like the “hard-coding” way and some who prefer to take advantage of the usage of components. Ain’t no need to confront each other…
Thank you Wolfgang for your link…

It is your right to disagree… but you will find the consensus on this forum is that use of the DataControl is not desireable…

It is antiquated, and leads to poor programming techniques… And I will bet it might even be on the “to be deprecated list”

“Data Binding” is another technique that is discouraged… as it leads to an inability to clearly document the interaction of data to the business logic involved.

I will state this… any programmer under my supervision that ever attempted to use either of those techniques on a production level deployment would most likely be headed towards an “exit interview”

Dave might be a little harsh in the way he put it, but I agree with him. You’ll do yourself no long-term good by trying to use the data binding ‘crutch’.

Add in the fact is that the DataControl isn’t very robust, or downright buggy, it’s not worth trying to work around its limitations. Since it’s been this way for a while you might as well bite the bullet to learn how to do it the long way. Some would argue (and I do) that Data Binding often hinders more than it helps and you have considerably less control over your application.

But to each their own. All I can say is that we tried to warn you.

Dear Dave

Thank you for giving the right to disagree again with you.

As a matter of fact, the point is not so much the component itself “DataControl”, or “DataQuery” (which by the way do not work at all) but more that the approach of the platform that comprise a lot of components, that must be working.
Let me put it this way : When you buy a car you expect also having the spare tire; now let’s image if the vendor tells you “Ain’t no need a spare tire”, just call the assistante and within 6 hour you’ll be rescued! what would you say?
This is the same with any Dev. Platform, I do expect after a long test period (Benchmark) to get in the new release the same behavior than the previous version. That’s it : “Regression Testing” should be carried out. I hope for you, as you mentioned being a supervisor, when it comes to deliver your Apps, that you have in your full test cycle such of regression testing phase!

Anyway… These components are also made to let any beginners to create a CRUD app with ease; And as far as I know Xojo WebSite goes in that way; No! Xojo can be used by any profile of developper : Experienced or Beginner… Right!

Now, regarding your point of view of “Data Binding”; I have to admit that after having read your comment, I’m afraid to say that you do not know what “Data Binding” is about and moreover when to use it inside a complexe Application :
The “Data binding” is the process that establishes a connection between the application UI and business logic.
If the settings are set properly, the data reflects changes when made and when the UI is changed, the data will reflect that change. Moreover in terms of programming, I let you guess how much time you can save by using “Data Binding” instead of running into a manual coding (write your code), when it comes to deal with a huge amount of fields from a database…
Besides, if you prefer the old fashion way to make CRUD app. this is your own business. But let me tell you that you’ll find as well a consensus in using it, throughout the Dev Community…

Ok. I won’t dwell at length with you arguing who is right or wrong. Actually it was not the point; since I just wanted to report an issue with one of the Xojo component and no matter if it useless or antiquated. Xojo Release 2015 seems to be pretty much instable If I compare with the version 2014. Of course the comparison must be done in its wholeness.

Cheers.

I am not going to argue “databinding”… its like politics and religion…

but again it is your choice as to if you wish to take advice given by people with much more programming experience. But be aware, if you aren’t willing to consider opinions other than your own, then asking questions in those regards might be counter-productive

Thats what you EXPECT data binding in Xojo means - but thats not what it does.

Hence why the majority of experienced users are saying “Dont use it. It’s not worth your time”

Dave, please be a bit humble.
You do not know me then you cannot say “people with more programming experience… than Me…”; Except if you are speaking about Xojo Experience; But when it comes to deal with other languages or platforms or methodologies or Project Leading, please be a little bite more humble… I believe, I can teach you pretty much stuff…anyway…
Besides, I do appreciate and I’m willing to listen to other opinions when there are addressed correctly and moreover with objectivity.
If the advices are :

  1. Do Not to use “DataBinding” within Xojo
    OR ((of course I’d like to get couple explanation))
  2. Xojo is not able to handle efficiently the “DataBinding”

Then, I will consider those advises and go accordingly … since I can confirm you that I’m not an Xojo expert (for now).

Norman, I just read your post and if this is the case “@Norman Palardy :Thats what you EXPECT data binding in Xojo means - but thats not what it does.” Thus, subject is closed with “DataBinding” within Xojo.

Nonetheless, I have reported to Xojo support the issue regarding couple component and I’d-ll post the feedback as soon as I get them.

Many thank to all of you

My humble advice is to stop trying to make Xojo work like whatever development tool you came from. If Data Binding worked well in that environment that’s great. It does not work well in Xojo and our advice is to not use it. Period.

I came from VB6 which had good data binding support and in a very large project (Quickbooks equivalent) we ripped it all out because it caused problems. Could we have gotten it to work? Probably, but the workarounds were causing far more interruptions to the schedule than after we went with a more traditional approach. A lot of problems just went away when we stopped using data binding.

Again, Xojo is Xojo. It is not FileMaker, 4D, or Access. Its Data Binding is not good. If that’s what you need in your development then you’ve probably chosen the wrong tool. In 15 years of Xojo development I’ve learned that I don’t need it (yes, I did try to use it at one point) and I’m happier having total control rather than depending on a someone else.

Well in one point I have to agree with Patrick: If this technique is outdated (and it is indeed) why is it still inside Xojo? Backward compatibility? Then it should be clearly marked as deprecated.

And Patrick, please don’t get angry. Data Bindings is a technique last used in the 90ies… (saw this in Visual Basic 5 first). Please do not use this today. This really saves you pain and frustration.

Hi everybody… Please, there is no need to show me your experience… or whatever…
My original post was simply to mention an issue with some “Xojo controls”… that’s it.… and it turned to “DataBinding” affair…

Bob, I never intended to replicated or copy… other technics from other plateforme into Xojo. That usually not the way I work.
I much prefer to see what are the possibilities of that new language or plateforme, before trying to mimic a supposing technics from
elsewhere. Thus, when I’ll be well acquainted with Xojo I’d be glad to share with you the lack or potential of Xojo.

Tomas, thank you but I’n neither angry nor frustrated; I Just wanted to participate in Xojo quality improvement by addressing some issue. Now if you guys consider that some component are outdated or deprecate; I just would love to hear it from Xojo; and this is said with all the respect to you guys and Xojo.

Cheers

for me i use to data control for one week just to try it out and then come out with my own method of connect the data with the control and ripping out all the data control that i had put one one week earlier.

I already told you what I would recommend
I do work for Xojo Inc

Why it crashes I’m not sure but in the mean time I’d do “something else” like I already suggested.
Otherwise you just have to wait until its fixed and that may or may not be in the next release or not.
I doubt you want to just wait not making any forward progress.
So doing “something else” would, IMHO, be a requirement.

I can understand the frustration of a non-deprecated intrinsic control working so poorly (or not at all). In this case it’s in the Xojo User Guide - Book 2… [quote]“The Data Control control is a “composite“ control that provides a very easy way to build a front-end interface to a database.”[/quote]

IMO, if it’s broken to the point of being unusable, as advertised, for any practical purpose, then it should be either deprecated completely or fixed. Patrick’s original question was technical, and valid, and remains unanswered.

Sounds like a bug which he’s reported

Sounds like a bug which he’s reported

[quote=204678:@Patrick L’ELIE]
I Can even say the sample provided “DataControlSample” do not work and make Xojo really unstable since it crashes after a little while when you go thru
that sample.

Please, does anyone experienced such of tedious event and is there anything to fix this up ?
I’m running Xojo ‘2015R2.2’ under Mac OS10.10.2 (Yosemite)

Cheers[/quote]

[quote=205235:@Tanner Lee]
IMO, if it’s broken to the point of being unusable, as advertised, for any practical purpose, then it should be either deprecated completely or fixed. Patrick’s original question was technical, and valid, and remains unanswered.[/quote]

There’s 2 threads about this
Much of it with the same people offering the same advice.
The data control, EVEN IF IT WORKS AS ADVERTISED, isn’t worth it.
It doesn’t do data binding like Patrick expects that exists in other languages.
It means you cant do certain things like sort a listbox by clicking on the headers since the data is coming from a sql query.

Thank you Tanner… As you said the issue I raised remains unanswered! Xoxo support are investigating I hope !

Norman: I did not mention any specify about the way I would like the dataBinding to work in Xojo. I have just mentioned that
the DataBinding can be effective in certain manner with Xojo by using both “DataControl” and “TextField” or other controls … please refer to the user guide : Framework. Page 114. (or run if you can the Sample delivered call “DataControlSample…”)

This being said, the main point is that some control “DataControl” & “DataQuery” do not wok anymore within the Release 2015R.2.2
that is the main point I want to report to Xojo. (it worked within the Release 2014)

Now, Norman, if you work for Xojo Inc; please just let me know whether this is going to be fixed or if this is going to be deprecated or removed. Because keeping arguing that these controls isn’t with worth it or are useless it is not a tangible argument since there are peoples/cpy who bought Xojo and do expect having the package working accordingly; no matter if they want or not to use these controls, which are a part of the Product somehow. Moreover, the issue with “DataControl” & “DataQuery” controls might also involved others controls. Hence, what would you say? "That controls isn’t worth it or are to restrictive… so just create your process manually or use such workaround solution to handle it?? Come on…

I’ll end this up by saying again: Xojo is made also for those who are not well acquainted with programming and just want to create a CRUD App (front-end App) really easily. Thus, the controls (or components) included in Xojo are definitely useful to do so.

I’m looking forward to reading an official answer regarding the bug I reported the rest is out of scope.

[quote=205267:@Patrick L’ELIE]
Now, Norman, if you work for Xojo Inc; please just let me know whether this is going to be fixed or if this is going to be deprecated or removed.[/quote]
Everyone here will confirm that it is not our practice to make specific promises about things like you’re asking for.
The bug report has been submitted and we’ll review it and decide from there what to do.
That’s as much as I am permitted to say.

Thank you for your answer. I’ll be waiting and of course take your advises in consideration so as to move forward.
Cheers