LINUX.ORG.RU

История изменений

Исправление xwicked, (текущая версия) :

там в sqlite, чтобы начать по быстрому, а дальше уже смотреть ман

void TKlenLibrary::slotCreateLibrary()
{
    sLibraryPath = QFileDialog::getSaveFileName(0, tr("Create of new library"), "",
                                                "XWLB - " + tr("Library of books, software of Klen-library") + " (*.xwlb)");

    if(sLibraryPath == "") return;

    if(sLibraryPath.indexOf(".xwlb") == -1) sLibraryPath += ".xwlb";

    if (FileOptions->isRememberLastOpened() == true) FileOptions->setPathLastLibrary(sLibraryPath);

    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(sLibraryPath);
    db.setUserName("user");
    db.setHostName("host");
    db.setPassword("pas");

    if(!db.open())
    {
        QMessageBox::critical(0, tr("Detection error"), tr("Error creating library base!"));
        return;
    }

Вот по-быстрому какой код получается. Где создание пользователя? Он логинится или нет? Что вообще происходит? Сменить пользователя у меня не получалось.

    str1 = "CREATE TABLE slListBooks (Number INTEGER PRIMARY KEY NOT NULL,"
            " slTableNumber VARCHAR);";
    query1.exec(str1);

    str1 = "CREATE TABLE ListBooks (Number INTEGER PRIMARY KEY NOT NULL,"
            " NameBook VARCHAR, Subcategory VARCHAR, Category VARCHAR, Year INTEGER, PrintingHouse VARCHAR);";
    query1.exec(str1);

    str1 = "CREATE TABLE Additional (Music VARCHAR, Films VARCHAR, Photos VARCHAR, Documents VARCHAR, Programs VARCHAR);";
    query1.exec(str1);
Как правильно осздать таблицы? Где первичный ключ? Могу ли я его применить в своей библиотеке, даст ли мне это что-нибудь? Нужна ли целосность и т.д.? Как средствами БД связать таблицы страниц с таблицами картинок и допинформации, чтобы отдельно руками не удалять, а БД этим занималась?

Ещё раз, мне нужна красота и правильность кода, которая упростит код, ускорит работу и процесс написания.

Исходная версия xwicked, :

там в sqlite, чтобы начать по быстрому, а дальше уже смотреть ман

void TKlenLibrary::slotCreateLibrary()
{
    sLibraryPath = QFileDialog::getSaveFileName(0, tr("Create of new library"), "",
                                                "XWLB - " + tr("Library of books, software of Klen-library") + " (*.xwlb)");

    if(sLibraryPath == "") return;

    if(sLibraryPath.indexOf(".xwlb") == -1) sLibraryPath += ".xwlb";

    if (FileOptions->isRememberLastOpened() == true) FileOptions->setPathLastLibrary(sLibraryPath);

    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(sLibraryPath);
    db.setUserName("user");
    db.setHostName("host");
    db.setPassword("pas");

    if(!db.open())
    {
        QMessageBox::critical(0, tr("Detection error"), tr("Error creating library base!"));
        return;
    }

Вот по-быстрому какой код получается. Где создание пользователя? Он логинится или нет? Что вообще происходит. Сменить пользователя у меня не получалось.

    str1 = "CREATE TABLE slListBooks (Number INTEGER PRIMARY KEY NOT NULL,"
            " slTableNumber VARCHAR);";
    query1.exec(str1);

    str1 = "CREATE TABLE ListBooks (Number INTEGER PRIMARY KEY NOT NULL,"
            " NameBook VARCHAR, Subcategory VARCHAR, Category VARCHAR, Year INTEGER, PrintingHouse VARCHAR);";
    query1.exec(str1);

    str1 = "CREATE TABLE Additional (Music VARCHAR, Films VARCHAR, Photos VARCHAR, Documents VARCHAR, Programs VARCHAR);";
    query1.exec(str1);
Как правильно осздать таблицы? Где первичный ключ? Могу ли я его применить в своей библиотеке, даст ли мне это что-нибудь? Нужна ли целосность и т.д.? Как средствами БД связать таблицы страниц с таблицами картинок и допинформации, чтобы отдельно руками не удалять, а БД этим занималась?

Ещё раз, мне нужна красота и правильность кода, которая упростит код, ускорит работу и процесс написания.