Creating a database using the DDA (Direct Data Access) objects is a very simple process.
The first thing you must do is obtain a valid connection to the DDA Engine of VistaDB. Then you call the CreateDatabase() function with the parameters completed. This example creates a database, builds a test table with some column types, and then inserts some data into the tables.
After building the database you can then open it in the Data Builder and view the results (make sure your app and Data Builder are not in exclusive mode or you will not be able to open it).
DDA Create Database Example |
Copy Code
|
---|---|
// We need a connection to the DDA engine IVistaDBDDA DDAObj = VistaDBEngine.Connections.OpenDDA(); // Create a NEW database IVistaDBDatabase mynewDatabase = DDAObj.CreateDatabase(filename, true, null, 2, 0, false); IVistaDBTableSchema table1s = mynewDatabase.NewTable("TestTable1"); Assert.IsNotNull(table1s, "TestTable1 creation failed"); table1s.AddColumn("ID", VistaDBType.Int); table1s.DefineColumnAttributes("ID", false, false, false, false, null, null); table1s.AddColumn("COLINT", VistaDBType.Int); table1s.DefineColumnAttributes("COLINT", false, false, false, false, null, null); table1s.AddColumn("COLDATETIME", VistaDBType.DateTime); table1s.DefineColumnAttributes("COLDATETIME", false, false, false, false, null, null); table1s.AddColumn("COLCHAR128", VistaDBType.Char, 128); table1s.DefineColumnAttributes("COLCHAR128", false, false, false, false, null, null); // Now that we have the table schema defined, create the table IVistaDBTable newTable = mynewDatabase.CreateTable(table1s, false, false); // Create some indexes newTable.CreateIdentity("ID", "1000", "1"); newTable.CreateIndex("Primary", "ID", true, true); newTable.CreateIndex("idxDate", "COLDATETIME", false, false); // Generate some data quickly for the table for( int i = 0; i < 1000; i++ ) { newTable.Insert(); newTable.PutInt32("COLINT", i); newTable.PutDateTime("COLDATETIME", DateTime.Now); newTable.PutString("COLCHAR128", "SomeChar" + i.ToString()); newTable.Post(); } newTable.Close(); newTable.Dispose(); newTable = null; mynewDatabase.Close(); mynewDatacase = null; |