Author |
Sample of client with a query for master/detail grid |
Franco Scannapieco
18.02.2007 01:54:24 Registered user |
Hi Danijel,
I just started to play with RTC and my first impression is quite positive loooking how easy is to implement a service. I am just wonderig why you didnt supply any sample of client with queris against a database and how to show the result set,practically there is not a sinle sample related to databases. TIA for yor reply.
Franco
|
Danijel Tkalcec [RTC]
18.02.2007 16:05:49 Registered user |
Hi Franco,
There are no examples for working with a specific database because I did not want to use any third-party components in my examples, since I can not offer database-related support as part of the RTC SDK. There are a number of different ways one can work with databases when using the RTC SDK, but all of them require some knowledge about the way database components work (in particular, TDataSet descendants like TClientDataSet).
And that's where RTC DAC will "come in play".
RTC DAC will be Data Access Components for the RTC SDK, which will make developing database applications very easy, with almost zero background knowledge about the RTC SDK.
Best Regards, Danijel Tkalcec
|
Franco Scannapieco
19.02.2007 07:20:28 Registered user |
Danijel,thanks for answering, I will wait forRTC DAC. Rgds.
Franco
|
Michael Koyne
21.02.2007 18:54:56 Registered user |
Any chance I can be included in the RTC DAC testing crew?
Mike Koyne
|
Danijel Tkalcec [RTC]
21.02.2007 19:46:54 Registered user |
Product testing is over, there should be an announcement about product release on Borland Newsgroups soon. The name of the final product is "ThinDAC". It was written and will be offered by Dmitry Arefiev (DA-SOFT), a third-party component vendor specialized in writing database access components (for example: AnyDAC). I'm not sure if the order process is implemented already, but I see the new pages are now online (or most of them), so it shouldn't be long before the formal announcement. Anyone interested, please look up "ThinDAC", here: http://www.da-soft.comPS. Glynn will also be writing a simple Demo to show how you could be using only the RTC SDK with remote functions to access a database. The demo won't show you how to write another set of "ThinDAC" components, since the components are the result of several months of development, but they will show you how to do "basic database stuff" by using only the RTC SDK. Best Regards, Danijel Tkalcec
|
Glynn Owen [RTC]
21.02.2007 20:47:43 Registered user |
Yep - here is what I just wrote up about it - This demo uses the file dbdemos.mdb that should be in the c:\program files\common files\borland shared\data folder. If it isn't in that folder, you will need to locate it and change the ConnectionString property of the ADOConnection component. There are some good instructions on this webpage -
http://www.efg2.com/Lab/Library/Delphi/ADO/MasterDetail/
The focus of the demo is on the Customer table. Queries against the Customer table are sent from the Client to the Server, which executes the query and then returns the results. The request coming into the server is a string - the SQL query. Data returned by the server is in the form of a TrtcDataSet. When the client receives the TrtcDataSet, the information in the dataset is transformed into a TClientDataset which is then presented on a DBGrid.
On the server side, the query is executed by a TADOQuery component, and the results are transformed into a TrtcDataset which is then returned as the result. The entire process is encapsulated as a single TrtcFunction with this signature -
function GetCustomerData(aQuery:string):TrtcDataSet;
The code for both the Client and Server is well-commented, The significant function was written by the RTC Remote Function Wizard that can be downloaded from this link -
http://realthinclient.com/articles/Rtcremotefunctionswizard.zip
This demo illustrates a light-weight approach for access to data hosted by a remote database. For a much more comprehensive solution, see this product that was just released a few minutes ago -
http://www.da-soft.com/index.php?option=com_content&task=view&id=83&Itemid=198
I hope to have it ready by Friday. Glynn
|
Steve Gill
21.02.2007 21:24:39 Registered user |
How difficult would it be to write components that would provide read/write access to DBISAM and/or ElevateDB tables?
Regards,
SteveG
|
Danijel Tkalcec [RTC]
22.02.2007 01:46:35 Registered user |
Hi Steve,
it depends on the level of integration you would expect of your client-side components. If your want "the complete package" for direct table/query access to DBISAM or ElevateDB databases, I would suggest getting a commercial license for "ThinDAC" components and trying out included drivers for "ODBC" or "OLEDB" support. If that doesn't work, you can always ask Dmitry to help you write a new "database driver" for your database to work with "ThinDAC". This is fairly easy to do (probably an hour, but no more than a day).
Best Regards, Danijel Tkalcec
|
Glynn Owen [RTC]
22.02.2007 04:06:33 Registered user |
Hi Steve - DBISAM has TDataset table and query descendants that work directly with remote databases. I did a project at the end of '06 that used just those capabilities. If that isn't what you mean, what exactly is it that you're looking for ? Here is an old (but still excellent) article regarding developing your own TDataSet descendants - TDataSet Article An even better link to this article, along with some good examples, can be found from this link - Article + Code Samples Regards, Glynn
|
Steve Gill
22.02.2007 20:55:56 Registered user |
Hi Glynn,
> DBISAM has TDataset table and query descendants that work directly > with remote databases. I did a project > at the end of '06 that > used just those capabilities. If that isn't what you mean, what > exactly is it that you're looking for ?
If you're referring to the remote connection capabilities of the DBISAM database using DBSrvr then, yes, I know about this and use it in most of my projects. The only drawback is that customers have to open ports in their firewalls. I was thinking that RTC SDK might allow me to get around this "limitation".
Thank you for the links. The articles look like they may be what I need.
Danijel, I'll check out ThinDAC but I'd prefer to connect directly to the databases rather than go through ODBC. If it takes no more than a day for you and Dmitry to write a database driver, it would probably take me a month! ;-)
Regards,
Steve
|
Glynn Owen [RTC]
22.02.2007 22:21:12 Registered user |
Hi Steve:
I see your point about DBISAM. It wasn't an issue for me, since someone else had the job of installation and training. The "doing DB with RTC" article I'm writing now may be of some interest to you in that it will be illustrating the transfer of data from a remote database using the RTC SDK. However, it is a far cry from being what you mention regarding the TDataSet descendant. It may grow to become something like that, but not for some time.
If you do decide to work on the TDataSet for DBISAM, I would really like to hear about it. You can email me as -
NOSPAM_owenDOTglynnATrealthinclientDOT.com_SPAMFREE
Regards, Glynn
|
Stephen McGrath
24.02.2007 10:09:10 Registered user |
Hi Glynn,
I would be very interested in seeing a working example of returning a dataset with RTC and also have a means of writing a record to a dataset,
I looked at RTCDAC and also asked about support for DBISAM/ElevateDB but Dmitry indicated there were no immediate plans to include support.
Look forward to your upcoming database demo!
Thanks, Steve
|
Malcolm Cheyne
24.02.2007 10:48:32 Registered user |
Hi Glynn
Does this mean that the connector that you already have for NexusDB V2 will work "seamlessly" ;-) with anyDAC ?
Malcolm
|
Glynn Owen [RTC]
24.02.2007 16:19:22 Registered user |
Hi Malcolm -
What do you mean by "the connector you already have for NexusDB V2?"
Regards, Glynn
|
Glynn Owen [RTC]
24.02.2007 16:27:29 Registered user |
Hi Stephen -
The example I'll be posting today uses ADO with an Access database that is part of the D7 installation. It doesn't include any means of writing a record, but that's a good idea for another article.
Regards, Glynn
|
Malcolm Cheyne
25.02.2007 03:57:57 Registered user |
Hi Glynn
Thanks for the quick response.
Let me explain where I am coming from .....
I am a retired IT professional who started back in 1979 with an overgrown keyboard called a TRS80. Starting with Level 1 BASIC and moving through Microsoft BASIC to CB80 and CB86 later moving on to Delphi 1. The next 20 years was mainly as a (commercial) one-man operation building computers, setting up the network, writing applications (mainly accounting and stock control) and finally teaching and supporting the client (end-user). Procedural programming is the way my brain works. OOPS is still hard for me to come to grips with (although I am slowly getting there having moved through most Delphi upgrades to BDS2006). I am qualified MCP in a number of areas (mainly networking stuff) (was almost qualified MCSE), until I was forced into retirement on medical grounds. I now just support a couple of local NFP organisations as their honorary IT Manager on a when available basis. My latest effort can be seen here http://www.vvaatvl.org.au where I am hoping to incorporate a Forum (based on RTC).
I have a number of ex BDE applications which I have already converted to use NexusDB2 and lately written some administration software for these NFPs. What I would like to do is to be able to rewrite these applications so they can be used over the Internet just by using a browser. This way anybody can login from home and do their admin work. You get the drift ?
What I am trying to come to grips with is how "everything" ties together between Delphi; RTC SDK; and NexusDB2 (maybe anyDAC does not come into this (yet) having spent the night looking at it).
I'm floundering a little with all this "new" technology so please be gentle with me ;-)
Any advice (RTC SDK etc) you could offer would be appreciated.
Malcolm
malcolm at sbca dot com dot au
|
Glynn Owen [RTC]
25.02.2007 16:42:33 Registered user |
Hi Malcolm -
Your history sounds like mine. My first commercial product was called "Bionic Basic" - a set of machine-language enhancements to Level II Basic on a Radio Shack Model I. I worked on it for a year, and made maybe $2000...
I had the advantage of using Clipper's Summer '87 compiler for quite a few years before Delphi came out. Clipper used a few objects, so I was at least familiar with the concept when Delphi arrived in '95. But I hear you - a fully object-oriented language took some getting used to.
I'll be making a further reply to you in your other post about my DB Demo article.
Regards, Glynn
|
Malcolm Cheyne
25.02.2007 17:12:17 Registered user |
See my reply in ADO DB area
Malcolm
|