LINUX.ORG.RU
ФорумTalks

База данных


0

0

Нужна простейшая база, хранить ингу о клиентах и делать выборку, кому-куда позвонить.
Элементрщаина, да, но найти ничего не могу о_О
Мысль набросать в ОпенОфисе, но нужен ман какой-нибудь, да и с временем большие проблемы.
Да, целевые платформы - венда и линукс, можно венда онли.
Караваны грабить не обязательно, к осени засяду за нормальную клиент-серверку с постгрей, логикой и прочим, караваны и ионка инклюдед.
Идеи?

anonymous

если пока можно венда онли, о в пишется за несколько минут самостоятельно виндовыми средствами мс офеса

delilen ★☆
()

Записная книжка.

anonymous
()

ничего не поделаешь...

anonymous
()

В OpenOffice.org можно не просто "набросать", оно умеет работать с PostgreSQL через SDBC. QBE у него есть, на первое время хватит.

random_code ★★
()
Ответ на: комментарий от random_code

можно линк на маны по нему? хоть базовые.
переписывать в любом случае.

дельпхи и прочее не катят, ибо.

склулайт гляну

anonymous
()
Ответ на: комментарий от delilen

И да, сейчас это работает на поделке на базе Акцесса + вижбасик фор аппликейшнс.
Блевать уже даже не тянет. При виде проги я впал просто в такой шок, что меня нашатырем откачивали.
Делает из человека эпилептика и пораждает фобии.
Чуть подразгребу всё - выложу на ЛОРе, порадую людей.

anonymous
()

> Мысль набросать в ОпенОфисе, но нужен ман какой-нибудь, да и с временем большие проблемы.

Не советую. Пытался недавно сделать там простенькую базу -- стал плеваться. Всё настолько ненадёжно и на соплях, что оказалось легче написать на Tk+sqlite. Собственно, это и рекомендую :)

gaa ★★
()
Ответ на: комментарий от anonymous

Re^2: База данных

> А более готовых решений на том же скулайте нет?

Ээээ, sqlite -- это только база в файле с возможностью выполнять sql-запросы к данным, хранящимся в ней.

Какие тут могут быть готовые решения? Быдлоформопостроитель как в студии? Так с ним разобраться будет сложнее, чем набросать гуйню на том же tk, которая будет выводить результат запроса в tablelist.

gaa ★★
()
Ответ на: Re^2: База данных от gaa

Re^3: База данных

Примерчик применения tk+sqlite. Разумеется, есть некоторые баги, но для личного пользования сойдёт и так:

#!/bin/sh

# restart using wish \
exec wish "$0" "$@"

package require Tcl 8.4
package require Tk 8.4
package require sqlite3 3.4
package require tile 0.8
package require Tablelist_tile

proc generateQuery {} {
    set name [ string toupper $::name ]
    set initials [string toupper $::initials ]
    set street [ string toupper $::street ]
    global phone
    set house [ string toupper $::house ]
    set korpus [ string toupper $::korpus ]
    set flat [ string toupper $::flat ]

    set q [list]

    foreach {var field} {
        name        h.familyName
        initials    h.initials
        phone       h.phone
        street      s.title
        house       h.house
        korpus      h.korpus
        flat        h.flat
    } {
        set value [ set $var ]
        if { $value != "" } {
            regsub -all {"} $value {""} text
            lappend q "$field like \"%$text%\""
        }
    }

    if { [ llength $q ] != 0 } {
        set where "where"
    } else {
        set where ""
    }
    set limit " limit 200"

    set res [ join [ list "select \
	    h.familyName||' '||h.initials as col0,\
	    h.phone as col1,\
	    s.title||' '||h.house||coalesce(nullif('/'||h.korpus,'/'),'')||coalesce(nullif('-'||h.flat
,'-'),'') as col2\
	from home h left join street s on (h.street_id=s.id) $where " [join $q " and "] $limit ] ]
    return $res
}

proc search {} {
    global result searchBtn
    global resultWidget

    $searchBtn configure -state disabled
    # waiting added to display disabled button
    set a 0
    after 1 {set a 1}
    tkwait variable a

    set result ""
    set i 1
    db eval [ generateQuery ] line {
	lappend result [ list $line(col0) $line(col1) $line(col2) ]
        incr i
    }
    $searchBtn configure -state normal
}

proc addFrame {w var title} {
    set ::$var ""
    grid [ ttk::label $w.${var}Label -text "$title: " -anchor w ] [ ttk::entry $w.${var}Entry -textvariable $var ] -sticky nswe

    bind $w.${var}Entry <Return> "search;focus $w.${var}Entry"
}

####################################
#               MAIN               #
####################################

sqlite3 db [ file join [ file dirname [ info script ] ] db09.sqlite3 ]

wm title . "Справочник 09"

set w [ ttk::frame .a ]
grid $w -sticky nswe
grid columnconfigure . 0 -weight 1
grid rowconfigure . 0 -weight 1

addFrame $w name "Фамилия"
addFrame $w initials "Инициалы"
addFrame $w phone "Телефон"
addFrame $w street "Улица"
addFrame $w house "Дом"
addFrame $w korpus "Корпус"
addFrame $w flat "Квартира"

set searchBtn [ ttk::button $w.search -text "Поиск" -command search ]
grid $w.search -

set f [ ttk::frame $w.f ]

set result ""
set resultWidget $f.table
tablelist::tablelist $resultWidget \
        -columns {
	    0	"Фамилия ИО"	left
	    0	"Телефон"	left
	    0	"Адрес"		left
	} \
        -listvariable result \
        -titlecolumns 0 \
        -yscrollcommand "$f.sy set" \
        -xscrollcommand "$f.sx set" \
	-showseparators 1 \
	-labelcommand tablelist::sortByColumn

ttk::scrollbar $f.sy -command [ list $f.table yview ]
ttk::scrollbar $f.sx -command [ list $f.table xview ] -orient horizontal

grid $f.table $f.sy -sticky news
grid $f.sx -sticky ew

grid $f - -sticky nswe

grid columnconfigure $f 0 -weight 1
grid rowconfigure $f 0 -weight 1

grid columnconfigure $w 1 -weight 1
grid rowconfigure $w 8 -weight 1

focus $w.nameEntry

gaa ★★
()
Ответ на: комментарий от anonymous

Тоже почему то первое что пришло в голову. Осиливается быстро, но веб. Если важно чтоб жирный клиент - то не знаю, но полагаю что решение выше должно подойти, строчек там раз-два и обчёлся.

AndreyKl ★★★★★
()

sqlite, у меня норм на питоне и на Windows приложение работало и GNU/Linux/BSD ... правда на венде человеку пришлось чуть подравить скрипт и для полноты собрать бинарник.

phasma ★☆
()
Ответ на: комментарий от gaa

это действительно так

работать с базами из ООо весьма томительно и противно, вот бы это допилили до вменяемого состояния

fMad ★★
()

одножоп предприятие?

//me полез в укрытие

lazyklimm ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.