VistaDB 6
VistaDB / How does VistaDB work? / Data Engine and SQL Query Processor / Direct Data Access Objects - DDA
In This Topic
    Direct Data Access Objects - DDA
    In This Topic

    Direct Data Access (DDA) technology is unique to VistaDB. It is an easy-to-use, yet powerful non-SQL, object-based set of data management objects that provides high-speed, direct data access to VistaDB databases. DDA provides high-speed scrollable and updateable "Live Cursor" or "Navigational" control over data. It is an alternative to using SQL and can co-exist with using the ADO.NET Data Provider and SQL.

    DDA is not required

    You do not have to use DDA in your applications. You are free to choose between DDA and standard ADO.NET SQL code (or mix the two in the same app). You can use the fully databound controls just like Access or SQL Server, or you can use DDA.

    DDA is a simple cursor based system

    DDA was built for users coming from an XBase / Apollo / Clipper /Foxpro background who are used to the cursor based style of programming. It also happens to be a very quick and easy way to grasp database concepts for those new to database programming.

    Please feel free to experiment with both programming models and see which works best for you. But unless you have very specific needs to use DDA, we highly recommend you use the ADO.NET / SQL provider model. It is the most active part of our development, and it is the only way to move your code to SQL Server at a later date. The sheer volume of information for help on ADO.NET topics is staggering and can be quite helpful for learning how to do things in .Net.

    DDA will also not be available in the future client / server builds. Since DDA is a client side cursor system it will not be able to use the Server version.

    Example

    As an example the following is two ways to perform an insert. The SQL Code would then have to be executed using an ExecuteNonQuery on a valid database connection. The DDA code works from an already opened table object.

    TSQL Code

    INSERT INTO myTable 
    ( column ) 
    VALUES 
    ( 0 );
    

    DDA Code

    myTable.Insert(); 
    myTable["column"].value = 0; 
    myTable.Post();
    
    See Also