Home
DocuGrab
PicBlitz
Store
For Developers
idxObjects
Consulting Services
News / Contact
"Just like a database sitting in memory. Index it, sort it, without the need for a recordset."
"It figures out the field type, converts to generically typed data."
"Perfect for data conversions. Specify the input table, read it, update it, write it with OLE."
"Speed up your software with localized in-memory data."
"idxObjects are the reason DocuGrab and PicBlitz are so fast."
idxObjects are a new, revolutionary, patented way to access data locally, with or without an underlying database.
It starts with a simple concept: Use memory; it's the fastest thing around.
idxObjects use indirect addressing concepts, which, at a machine level, utilize registers rather than memory moves.
Use it for database conversions. idxObjects automatically recognize the field type and converts them to a generically typed string.
Because every field you encounter always the same format, all your data type conversion issues are solved.
Use idxObjects to simplify SQL. Store small consistent left or right join tables in memory. Access them through a binary lookup.
Replaces a recordset. Define the fields you need, specify the 'where' clause. Use idxObjects to read and then process data in memory.
A Listview is directly mapped to idxObjects. Just create a "generic setup class", perform "idxObjects.Read", then use 'Listview.Load'. 3 steps.
Both DocuGrab and PicBlitz use idxObjects for data access, sorting, indexing. It's why idxSoftware is so fast.
We'll take a look at a simple example, converting an employee table from Access to SQL Server. In VB .NET
Any OLE or ODBC compliant database can be used.
Step 1: Define your input table. Either copy and paste it or use a separate product, idxScout, which has a code generator.
Public Class Tab_Employee_In
Inherits IdxObjects
Friend Shadows Enum eField As Integer
Employee_ID
' No need to specify field data type. Automatically converted to string.
First_Name
Last_Name
End Enum
Public Sub New()
For Each FieldNumber As Integer In [Enum].GetValues(GetType(eField)) Setup.AddDBField(FieldNumber) = [Enum].GetName(GetType(eField), FieldNumber)
Next
DB.DBFormat = dbFormat.JET
DB.JETConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & My_DBNAME & ";Persist Security Info=False;"
DB.TableName = "Employee"
Setup.Close()
Step 2: Define your output tables. This example is simple with a one to one data relationship.
Public Class Tab_Employee_Out
Inherits IdxObjects
Friend Shadows Enum eField As Integer
NewEmployee_ID
NewFull_Name
End Enum
Public Sub New()
For Each FieldNumber As Integer In [Enum].GetValues(GetType(eField)) Setup.AddDBField(FieldNumber) = [Enum].GetName(GetType(eField), FieldNumber)
Next
DB.DBFormat = dbFormat.JET
DB.JETConnectionString = "Provider=SQLNCLI10;server=(local);database=My_SQLServer;Trusted_Connection=yes"
DB.TableName = "NewEmployee"
Setup.Close()
Step 3: Process the conversion.
Dim Tab_Employee_In as New Tab_Employee_In
Dim Tab_Employee_Out as New Tab_Employee_Out
Tab_Employee_In.Read()
' Reads the records from the input table.
' To see the data before processing it.
Tab_Employee_In.Listview.MyListview = frmMain.ListView1
' Assign the listview to the Main Form
Tab_Employee_In.Listview.Load
' Load the Listview - It contains the entire table.
' Ready to create the new table
For i = 0 to Tab_Employee_In.count -1
' Loop through the input records
Tab_Employee_in.Index = i
' The index is how data is accessed.
Tab_Employee_Out.Data.Add()
' add a new record to the output set.
' -- This may seem like a lot of typing - it's NOT - Intellisense does 90 percent of the work.
Tab_Employee_Out.Field(Tab_Employee_Out.efield.NewEmployeeID) =
Tab_Employee_In.Field(Tab_Employee_In.efield.EmployeeID)
Tab_Employee_Out.Field(Tab_Employee_Out.efield.NewFull_Name) =
Tab_Employee_In.Field(Tab_Employee_In.efield.First_Name)
& " " & Tab_Employee_In.Field(Tab_Employee_In.efield.Last_Name)
' Write to a new field - Full Name
' all done - go on to the next record
Next
Step 4: Write out the new table, clean things up
Tab_Employee_Out.Write()
' Write to the output database. Any existing records are deleted.
' Update and insert commands are available.
Tab_Employee_Out.Dispose
Tab_Emploee_In.Dispose
Step 5: Request more information on how idxObjects can help your IT operations.
Copyright 2010-2012. idxSoft LLC
Your privacy is important. Read our privacy statement
Privacy Statement