Example #1
0
 /// <summary>
 /// Returns the dataAdapter for the selected table
 /// </summary>
 /// <param name="table"></param>
 /// <returns></returns>
 public OleDbDataAdapter GetAdapter(BMTable table)
 {
     if (adapters[(int)table] == null)
     {
         ConstructAdapter(table);
     }
     return(adapters[(int)table]);
 }
Example #2
0
        private void ConstructAdapter(BMTable table)
        {
            int t = (int)table;

            //SELECT COMMAND
            var select = $"SELECT * FROM {tableNamesSafe[t]}";

            OleDbDataAdapter adapter = new OleDbDataAdapter(select, connection);


            if (table != BMTable.IntermediateData &&
                table != BMTable.ReceivedData)
            {
                //INSERT COMMAND
                StringBuilder columnsB = new StringBuilder();
                StringBuilder paramsB  = new StringBuilder();
                for (int i = 0; i < columnNames[t].Length; i++)
                {
                    columnsB.Append(columnNamesSafe[t][i] + ",");
                    paramsB.Append("@" + columnNames[t][i] + ",");
                }
                columnsB.Remove(columnsB.Length - 1, 1);
                paramsB.Remove(paramsB.Length - 1, 1);

                var insert = $"INSERT INTO {tableNamesSafe[t]} ({columnsB.ToString()}) VALUES ({paramsB.ToString()});";
                var ins    = new OleDbCommand(insert, connection);
                SetParams(t, ins);
                adapter.InsertCommand = ins;
            }

            adapters[(int)table] = adapter;

            void SetParams(int DBTable, OleDbCommand cmd)
            {
                for (int i = 0; i < columnNames[DBTable].Length; i++)
                {
                    var parameter = cmd.Parameters.Add("@" + columnNames[DBTable][i], columnTypes[DBTable][i]);
                    parameter.SourceColumn = columnNames[DBTable][i];
                    parameter.IsNullable   = false;
                }
            }
        }
Example #3
0
 /// <summary>
 /// Returns OleDBCommand to remove all entries from a given table
 /// </summary>
 /// <returns></returns>
 public OleDbCommand GetClearCommand(BMTable table)
 {
     return(new OleDbCommand($"DELETE FROM {tableNamesSafe[(int)table]}; ", connection));
 }
Example #4
0
 /// <summary>
 /// Returns the name of the given table.
 /// </summary>
 /// <param name="table"></param>
 /// <returns></returns>
 public string TableName(BMTable table)
 {
     return(tableNames[(int)table]);
 }