using System; using System.Linq; using System.Collections.Generic; using ChemAxon.NET.Base.Data.Sql; using ChemAxon.NET.Base.Search.Options; using ChemAxon.NET.IKVM.DB; using ChemAxon.NET.IKVM.Chemistry; using ChemAxon.NET.IKVM.DB.Entities; using ChemAxon.NET.API; namespace ChemAxon.NET.UnitTest.API.Examples.Database { public class DatabaseExample { public IJChemDatabaseHandler ConnectoDatabase_Example(string host, int port, string database, string user, string pwd, DBType databaseType) { IConnectionInfo connection = MainFactory.Database.CreateConnection(host, port, database, user, pwd, databaseType); return MainFactory.Database.OpenJChem(connection); } public IJChemTable GetTableFromDatabase_Example(IJChemDatabaseHandler database, string tableName) { IEnumerable<IJChemTable> tables = database.GetTables(); return tables.First(table => table.Name == tableName); } public IEnumerable<JChemDBMolecule> SelectMoleculeFromDatabase_Example(IJChemTable table) { IJChemMolecule queryMolecule = MainFactory.Chemistry.CreateMolecule("Benzene"); IJChemMoleculeFilter moleculeFilter = MainFactory.Database.CreateJChemMoleculeFilter(queryMolecule); moleculeFilter.SearchOption.InvertResults = false; moleculeFilter.SearchOption.AbsoluteStereo = JChemAbsoluteStereoMatchingModes.AlwaysOn; IDBConditions dbConditions = MainFactory.Database.CreateDBConditions(ComparisonSqlOperatorType.Greater, new DateTime(1993, 12, 11), table["DATE_COLUMN"]); dbConditions.And(ComparisonSqlOperatorType.Less, DateTime.Now, table["DATE_COLUMN"]); IEnumerable<JChemDBMolecule> molecules = table.GetMolecules(moleculeFilter, dbConditions); return molecules; } public JChemDBMolecule InsertMolecule_Into_Table_Example(IJChemTable table) { IJChemMolecule molecule = MainFactory.Chemistry.CreateMolecule("benzene"); //Set datacolumn value molecule.Properties.Add("DATE_COLUMN", DateTime.Now); molecule.Properties.Add("VARCHAR_255_COLUMN", "Corporate ID"); JChemDBMolecule insertedMolecule; table.Insert(molecule, out insertedMolecule); return insertedMolecule; } public void UpdateMolecule_Example(IJChemTable table, JChemDBMolecule moleculeToModify) { //Update the molecule IJChemMolecule newMolecule = MainFactory.Chemistry.CreateMolecule("methylpropane"); moleculeToModify.ModifyWith(newMolecule); //Update datacolumn value moleculeToModify.Properties.Add("DATE_COLUMN", new DateTime(1992, 12, 11)); moleculeToModify.Properties.Add("VARCHAR_255_COLUMN", "Modified corporate ID"); table.Update(moleculeToModify); } public void DeleteMolecule_Example(IJChemTable table, JChemDBMolecule moleculeToDelete) { table.Delete(moleculeToDelete); } } }