Автор работы: Пользователь скрыл имя, 19 Декабря 2010 в 18:44, лабораторная работа
Разработать программу , реализующую работу телефонного справочника. Для разработки использовать Sybase SQL Anywhere 5.5 в качестве серверной части и MS Visual FoxPro 5.0 в качестве клиентской части. Добавить функции добавления, удаления, редактирования и поиска записей
Upd_flg=.f.
Endif
Предварительно в Interactive Change надо прописать:
Upd_flg=.t.
Код кнопки Удалить
select fam
MESSAGEBOX(STR(f_num))
wsp=f_num
b1=SQLEXEC(e1,"delete from fam where f_num=?wsp")
Thisform.refresh()
b1=SQLEXEC(e1,"select * from dba.fam", "fam")
thisform.grid1.ColumnCount=2
thisform.grid1.recordsource='
thisform.grid1.recordsourcetyp
thisform.grid1.column1.
thisform.grid1.column2.
thisform.grid1.column1.width=
thisform.grid1.column2.width=
thisform.Refresh()
Код кнопки Выход
Thisform.release
Главная сводная таблица
Синхронизация
данных в таблице на клиентской форме
и на сервере производится путём
обработки события
Главная
форма содержит кнопки редактирования
имен, фамилий, отчеств, улиц, которые
открывают соответствующие
Добавить запись
Считываются значения всех полей ввода. Для фамилий, имён, отчеств, улиц по значению определяется их код. Рассчитывается максимальное значение ключевого поля, это значение увеличивается на единицу. Формируется запрос INSERT, который отправляется на сервер. Вызывается событие Click() кнопки Поиск для обновления данных в объекте Grid1.
if !empty(thisform.combo1.value)
select fam
locate for f_val = alltrim(thisform.combo1.value)
w_f_num=f_num
else
w_f_num=0
endif
if !empty(thisform.combo2.value)
select nam
locate for nam_val = alltrim(thisform.combo2.value)
w_n_num=n_num
else
w_n_num=0
endif
if !empty(thisform.combo3.value)
select otc
locate for otc_val = alltrim(thisform.combo3.value)
w_otc_n=otc_n
else
w_otc_n=0
endif
if !empty(thisform.combo4.value)
select street
locate for s_val = alltrim(thisform.combo4.value)
w_s_num=s_num
else
w_s_num=0
endif
b1=SQLEXEC(e1, "Select Max(Uniq_id) as max_pr_key
from book","tabl_1")
new_id=tabl_1.max_pr_key+1
dom=Thisform.text1.value
kor=Thisform.text2.value
kwr=VAL(Thisform.text3.value)
tel=Thisform.text4.value
que="Insert into book Values("+alltrim(str(new_id))
que=que+","+alltrim(str(w_f_
que=que+","+alltrim(str(w_s_
que=que+"','"+Alltrim(Thisform
b1=SQLEXEC(e1, que)
MESSAGEBOX(que)
Thisform.command1.click
Thisform.Grid1.SetFocus()
Thisform.Grid1.refresh()
Thisform.refresh()
Поиск
Составляется
SQL-запрос SELECT, в котором мы выбираем значения
из родительских и сводной таблиц, соответствующих
условиям поиска. В случае, если условия
поиска не заданы, из таблиц выбираются
все записи. Составленные из этих данных
записи заносятся во временную таблицу
temp_main, содержимое которой отображается
в компоненте Grid1 основной формы.
set safety off
Dimension gr_hd(8),gr_sr(8)
gr_hd(1)='Фамилия'
gr_hd(2)='Имя'
gr_hd(3)='Отчество'
gr_hd(4)='Улица'
gr_hd(5)='Дом'
gr_hd(6)='Корпус'
gr_hd(7)='Квартира'
gr_hd(8)='Телефон'
gr_sr(1)='family'
gr_sr(2)='nam'
gr_sr(3)='otc'
gr_sr(4)='street'
gr_sr(5)='bld'
gr_sr(6)='bld_k'
gr_sr(7)='appr'
gr_sr(8)='tel'
if !empty(thisform.combo1.value)
select fam
locate for f_val = alltrim(thisform.combo1.value)
w_f_num=f_num
else
w_f_num=0
endif
if !empty(thisform.combo2.value)
select nam
locate for nam_val = alltrim(thisform.combo2.value)
w_n_num=n_num
else
w_n_num=0
endif
if !empty(thisform.combo3.value)
select otc
locate for otc_val = alltrim(thisform.combo3.value)
w_otc_n=otc_n
else
w_otc_n=0
endif
if !empty(thisform.combo4.value)
select street
locate for s_val = alltrim(thisform.combo4.value)
w_s_num=s_num
else
w_s_num=0
endif
req="select book.uniq_id, fam.f_val as family, nam.nam_val as nam, otc.otc_val as otc,"
req=req+"street.s_val as street,book.bldn as bld,book.bldn_kor as bld_k,"
req=req+"book.appr as appr,book.telef as tel "
req=req+"from book,fam,nam,street,otc "
req=req+"where nam.n_num=book.name_ AND "
req=req+"fam.f_num=book.fam AND "
req=req+"street.s_num=book.
req=req+"otc.otc_n=book.
wsp1=ALLTRIM(thisform.combo1.V
IF !EMPTY(wsp1)
Информация о работе Отчет по управлению базами данных "Телефонный справочник"