Вы можете взять одну таблицу за раз, используя ConnectionString, и назначить ее в DataTable. Затем вы можете вносить изменения в DataTable в любой форме. Когда вы закончите вносить изменения, вы можете зафиксировать изменения обратно в базу данных, используя DataAdapter.
Вот как получить таблицу:
DataTable table;
using (SqlDbConnection connection = new SqlDbConnection(connectionString))
{
connection.Open();
using (SqlDbCommand command = new SqlDbCommand(tableName, connection))
{
command.CommandType = CommandType.TableDirect;
SqlDbDataReader dr = command.ExecuteReader(CommandBehavior.CloseConnection);
table = new DataTable(tableName);
routeID.Load(dr);
}
}
Вот как зафиксировать таблицу после изменений, убедитесь, что присвоили свой DataTable для DataSet, чтобы получить изменения для фиксации:
DataSet dataSet = new DataSet();
dataSet.add(table);
using (var adapter = new SqlDbDataAdapter("SELECT * FROM " + tableName, connection))
{
using (var builder = new SqlDbCommandBuilder(adapter))
{
adapter.Fill(dataSet, tableName);
using (DataSet newSet = dataSet.GetChanges(DataRowState.Added))
{
builder.QuotePrefix = "[";
builder.QuoteSuffix = "]";
adapter.InsertCommand = builder.GetInsertCommand();
adapter.Update(newSet, tableName);
}
}
}
Может быть несколько типов пропусков, я не скомпилировал, чтобы проверить ошибки. Удачи.