Очень мешает откуда-то самопроизвольно возникающая схема mydb, которую я не могу удалить.
таблицы стали создаваться именно в ней, а не в той схеме с которой я работаю
CREATE TABLE dbname.tablename ( .. );
) - таблица будет создана именно в указанной БД. Если же имя БД не указать - таблица создаётся в текущей БД. Почему у Вас именно эта БД текущая, и почему Вы не меняете её перед созданием таблиц запросом USE - это именно к Вам вопросы, и именно Ваша вина в том, что таблицы создаются "не там". public partial class BrowserMain : Form
{
public BrowserMain()
{
InitializeComponent();
WebBrowser = new ChromiumWebBrowser(
string.IsNullOrWhiteSpace(address) ? "about:blank" : address)
{
// ...
};
Controls.Add(WebBrowser);
WebBrowser.TitleChanged += WebBrowser_TitleChanged;
WebBrowser.AddressChanged += WebBrowser_AddressChanged;
WebBrowser.LoadingStateChanged += webBrowser_DocumentCompleted;
}
private void BrowserMain_FormClosing(object sender, FormClosingEventArgs e)
{
// После вызова этих строк методы WebBrowser_TitleChanged, WebBrowser_AddressChanged
// и webBrowser_DocumentCompleted не будут выполняться.
// Это и не нужно, так как окно закрывается.
WebBrowser.TitleChanged -= WebBrowser_TitleChanged;
WebBrowser.AddressChanged -= WebBrowser_AddressChanged;
WebBrowser.LoadingStateChanged -= webBrowser_DocumentCompleted;
}
}
screen
, уже не боясь оставить/отключиться, вместо scp
, может, удобнее воспользоваться rsync
— он зипует, что может ускорить передачу:rsync -avz /var/www/projectOldName user@newserver.example.com://var/www/projectNewName
Ctrl + A
, D
— чтобы покинуть работающий вирт. терминал и спокойно отключиться от SSH. Позже, когда снова зайдете, командой screen -r
снова подключитесь к оставленной сессии. try
{
if (from > to)
throw "Incorrect couple 'from - to' for generating random numbers";
}
catch (const char *message)
{
std::cerr << message << '\n';
exit(1);
}
Зачем нужен такой изврат, если вы ловите исключение сразу же? Чем хужеif (from > to)
{
std::cerr << message << '\n';
exit(1);
}
bool init(IntList1D &list, int number)
{
if (list == nullptr || *list == nullptr)
{
if (list == nullptr)
list = new IntList1D_element *;
*list = new IntList1D_element(number);
return true;
}
return false;
}
Чем меньше глубина вложенности, тем лучше. Ранний выход из функции лучше, чем выход в самом конце. Сравнитеbool init(IntList1D &list, int number)
{
if (is_initialized(list))
{
return false;
}
if (list == nullptr)
{
list = new IntList1D_element *;
}
*list = new IntList1D_element(number);
return true;
}
bool is_inited(const IntList1D list)
{
if (list == nullptr || *list == nullptr)
return false;
else
return true;
}
Здесь и название функции кривоватое и чересчур усложнена сама функция.bool is_initialized(const IntList1D list)
{
return (list != nullptr && *list != nullptr)
}