Вверх ↑
Этот топик читают: Гость
Ответов: 188
Рейтинг: 2
#1: 2017-02-09 11:11:02 ЛС | профиль | цитата
Доброе время суток.Я начинающий и многое еще не понимаю, мучаюсь уже неделю создал по образу и подобию из видео-урока схему. по переносу данных из МТ таблицы в базу данных SQlite. Но расширил функционал. так вот перенос работает только несколько строчек, а потом кроме создания строки данные не заносит. если из компонента FormaSTR удалить часть sql запроса(оставить 4 столбца) то несколько полей отрабатывает, возвращаю оставшуюся часть sql запроса начинает заносить данные. но опять же несколько 2-3 строк (10 столбцов) заносит, а потом перестает заносить. уже голову сломал. ошибок вроде нет либо не знаю куда смотреть. пробовал на разных компах думал может ОС виновата результат один и тот же. использовал разные компиляторы. delhi и стандартный. и использовал разные версии программы hiasm.

ЭТО зип архив с проектомhttps://cloud.mail.ru/public/6aVD/9mN4nWrWN
Это сам проект.
Помогите пожалуйста!!!
Add(MainForm,2953706,21,105){
Width=1312
Height=795
Point(onClose)
link(onCreate,11235782:doOpen,[(191,125)(191,335)])
link(onClose,11235782:doClose,[(191,132)(191,342)])
}
Add(StringTableMT,4725776,630,203)
{
Left=5
Top=70
Width=1295
Height=685
Columns=#4:№=25|16:Наименование=100|9:Фирма=100|9:Объем=100|9:Защита=60|18:Вознаграждение=100|16:Примечание 1=200|16:Примечание 2=200|16:Примечание 3=200|7:Код=200|
StrDelimiter="\9"
ColumnWidth=100
MinColWidth=10
Redaction=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
Point(Index)
Point(Strings)
Point(onLineChange)
link(onLineChange,11973327:doRead,[])
}
Add(Button,8113440,420,42)
{
Left=290
Top=5
Width=80
Height=60
Caption="Добавить"
link(onClick,6448969:doOperation,[(478,48)(478,55)])
}
Add(DS_SQLite,11235782,329,329)
{
Name="global1"
FileName=".\global1.db"
link(onOpen,8209996:doEvent1,[])
}
Add(DSC_Query,9801169,462,287)
{
SQL="SELECT * FROM table_kartridge"
DSManager="global1"
link(onQuery,4725776:doMT_Add,[(558,293)(558,244)])
}
Add(Hub,8209996,420,329)
{
link(onEvent1,9801169:doQuery,[(448,335)(448,293)])
link(onEvent2,10538501:doExec,[(455,342)(455,349)])
}
Add(DSC_Exec,10538501,462,343)
{
SQL="CREATE TABLE table_kartridge (nomer int, naimenovanie char, firma char, obem int, chip char, nagrada int, primechanie1 char, primechanie2 char, primechanie3 char, kod int)"
DSManager="global1"
}
Add(Math,6448969,504,49)
{
Op2=1
ResultType=0
link(onResult,10536296:doEvent1,[(555,55)(555,146)])
link(Op1,4725776:Count,[(510,37)(573,37)(573,260)(636,260)])
}
Add(ArrayRW,11973327,749,210)
{
link(onRead,293214:doSplit,[])
link(Array,2341599:Var3,[(755,191)(706,191)(706,267)])
}
Add(DSC_Exec,8714884,1022,308)
{
DSManager="global1"
link(SQL,14989750:FString,[(1028,296)(951,296)(951,352)(874,352)])
}
Add(DSC_Exec,453991,721,140)
{
DSManager="global1"
link(SQL,7088025:FString,[(727,128)(695,128)(695,184)(664,184)])
}
Add(FormatStr,7088025,658,140)
{
DataCount=1
Mask="INSERT INTO table_kartridge (nomer) VALUES (%1)"
Point(FString)
link(onFString,453991:doExec,[])
link(Str1,6448969:Result,[(664,110)(510,110)])
}
Add(Hub,10536296,595,140)
{
link(onEvent1,7088025:doString,[])
link(onEvent2,4725776:doAdd,[(619,153)(619,209)])
}
Add(Button,6153743,406,455)
{
Left=385
Top=5
Width=85
Height=60
Caption="Удалить"
link(onClick,10378252:doMessage,[])
}
Add(ArrayRW,12951,644,455)
{
link(onRead,7655473:doSplit,[])
link(Array,2341599:Var2,[(650,363)(664,363)])
link(Index,6912499:Var2,[(657,351)(650,351)])
}
Add(GetDataEx,2341599,658,262)
{
Angle=3
link(Data,4725776:Strings,[(657,267)])
}
Add(FormatStr,12985469,777,455)
{
DataCount=1
Mask="DELETE FROM table_kartridge WHERE nomer=%1"
Point(FString)
link(onFString,6342040:doExec,[])
link(Str1,7655473:Part1,[(783,443)(751,443)(751,499)(720,499)])
}
Add(DSC_Exec,6342040,840,455)
{
DSManager="global1"
link(SQL,12985469:FString,[(846,443)(814,443)(814,499)(783,499)])
}
Add(MultiStrPart,7655473,714,455)
{
Char="\9"
Count=1
link(onSplit,12985469:doString,[])
}
Add(Hub,2508146,497,455)
{
link(onEvent1,12951:doRead,[])
link(onEvent2,4448911:doData,[(521,468)(521,426)])
}
Add(DoData,4448911,532,420)
{
link(onEventData,4725776:doDelete,[(597,426)(597,223)])
link(Data,6912499:Var1,[(538,299)])
}
Add(GetDataEx,6912499,644,294)
{
link(Data,4725776:Index,[])
}
Add(Message,10378252,455,455)
{
Message="Вы точно хотите удалить картридж?"
Type=2
Icon=2
link(onMessage,2508146:doEvent1,[])
}
Add(FormatStr,14989750,868,308)
{
DataCount=10
Mask="UPDATE table_kartridge SET naimenovanie='%2', firma='%3', obem=%4, chip='%5',\r\nnagrada=%6, primechanie1='%7', primechanie2='%8', primechanie3='%9', kod=%10 WHERE nomer=%1"
Point(FString)
link(onFString,8714884:doExec,[])
link(Str1,293214:Part1,[])
link(Str2,293214:Part2,[])
link(Str3,293214:Part3,[])
link(Str4,293214:Part4,[])
link(Str5,293214:Part5,[])
link(Str6,293214:Part6,[])
link(Str7,293214:Part7,[])
link(Str8,293214:Part8,[])
link(Str9,293214:Part9,[])
link(Str10,293214:Part10,[])
}
Add(MultiStrPart,293214,868,210)
{
Char="\9"
Count=10
link(onSplit,14989750:doString,[(953,216)(953,265)(856,265)(856,314)])
}



Редактировалось 2 раз(а), последний 2017-02-09 12:13:00
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16884
Рейтинг: 1239
#2: 2017-02-09 17:03:25 ЛС | профиль | цитата
zhorik5 писал(а):
создал по образу и подобию из видео-урока схему.
Ссылочку на этот видеоурок дай.
Не могу поверить, что такую дурь умудрились выложить в видеоурок.

Ну не мог нормальный человек сделать
сначала SELECT * FROM table_kartridge;
а потом
CREATE TABLE table_kartridge;

Редактировалось 2 раз(а), последний 2017-02-09 17:13:41
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#3: 2017-02-09 19:10:27 ЛС | профиль | цитата
Tad писал(а):
zhorik5 писал(а):
Не могу поверить, что такую дурь умудрились выложить в видеоурок.

Ну не мог нормальный человек сделать
сначала SELECT * FROM table_kartridge;
а потом
CREATE TABLE table_kartridge;


Ты не поверишь мог)))) мне это показалось странно но значения не придал!
вот ссылкаhttps://www.youtube.com/watch?v=Xt28TMaFnW0
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2017-02-09 21:09:57 ЛС | профиль | цитата
Да...
Нет слов...
Вернее ЕСТЬ, но... все нецензурные.

Редактировалось 2 раз(а), последний 2017-02-09 21:31:49
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#5: 2017-02-10 00:05:16 ЛС | профиль | цитата
Делать то чего подскажите пожалуйста!? Может тот же самый функционал можно по другому реализовать?сразу скажу Сохранять в текстовый файл нельзя. Это должна быть база данных.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2017-02-10 11:31:33 ЛС | профиль | цитата
zhorik5 писал(а):
Делать то чего
Составить план своей программы.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#7: 2017-02-10 19:47:28 ЛС | профиль | цитата
попытался создать базу данных в ручную с помощью SQLite менеджера и отключить функцию создания таблицы в базе данных(разорвал связь). поведение не изменилось пару строк создает а дальше все тоже самое, заносить данные отказывается. у меня из за этого весь проект остановился. эта часть схемы отвечает за создание справочника! у меня подозрение что неадыкватно работает компонент FormaSTR. с маленьким количеством связи работает нормально а с большим количеством связей как-то не так. возможно я ошибаюсь!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#8: 2017-02-10 20:39:13 ЛС | профиль | цитата
zhorik5, можешь сказать - что твоя программа должна делать (нафига она нужна) ?
Если просто поиграться - это одно, если для применения в н.х. - это другое.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#9: 2017-02-10 21:32:31 ЛС | профиль | цитата
я рисую программу для учета заправки картриджей по нескольким работникам! а дал я кусок дочерней формы который не работает как хотелось бы. это не игры!!!! это реальный проект программы. просто я параллельно смотрю видео уроки и читаю и из увиденного переделываю под себя.

--- Добавлено в 2017-02-10 21:37:18

Tad писал(а):
zhorik5, можешь сказать - что твоя программа должна делать (нафига она нужна) ?
Если просто поиграться - это одно, если для применения в н.х. - это другое.

если нужно могу весь проект дать не проблема.

Редактировалось 1 раз(а), последний 2017-02-10 21:37:18
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#10: 2017-02-10 22:05:03 ЛС | профиль | цитата
zhorik5 писал(а):
из увиденного переделываю под себя.
А ты увидел в видеоуроке, как была удалена запись №2 ?
Остались №1 и №3.
Как думаешь, с каким номером добавится следующая запись?
Я думаю, что с №3. Т.е. под №3 будет две записи. И как в этом случае отработает UPDATE или DELETE ?
Работать нужно с БД, а не с StringTableMT.
StringTableMT - это ОКНО через которое ты ТОЛЬКО наблюдаешь за БД.
zhorik5 писал(а):
могу весь проект
Давай. Посмотрю.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#11: 2017-02-10 22:17:13 ЛС | профиль | цитата
Tad писал(а):
Давай. Посмотрю.

отправил В ЛС
Tad писал(а):
Я думаю, что с №3. Т.е. под №3 будет две записи

да с удалением я согласен, так и есть, но мне в данном случае это не особо важно можно и в ручную поправить нумерацию.темболее удаление позиций с этого справочника врядли бубут. Но всеравно это не маловажный вопрос. согласен!!! Кстати если строки не удалять всеравно не работает!
Tad писал(а):
Работать нужно с БД, а не с StringTableMT.

я не против, как это наглядно сделать я честно говоря не нашел!!! вот и получаются что значения правятся в таблице, а потом заносятся в бд!

--- Добавлено в 2017-02-10 22:24:26

Tad писал(а):
А ты увидел в видеоуроке, как была удалена запись №2 ?
Остались №1 и №3.


Кстати я еще не догоняю как сделать автоматическую корректировку номеров после удаления строки(((

Редактировалось 1 раз(а), последний 2017-02-10 22:24:26
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#12: 2017-02-10 22:36:41 ЛС | профиль | цитата
zhorik5 писал(а):
отправил В ЛС
... смайлы какие-то странные в тексте))

Нужно помещать в теги code
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#13: 2017-02-10 22:42:20 ЛС | профиль | цитата
Tad писал(а):

Нужно помещать в теги code

переделал
карма: 0

0
Ответов: 188
Рейтинг: 2
#14: 2017-02-11 11:46:21 ЛС | профиль | цитата
Вроде проблему решил. Путем создания двух форм одну для создания новой позиции другую для редактирования позиций. За операцию позволяет сделать только одну строку. Помогло кстати сообщение о том что МТтаблица это средство просмотра а не рабочий инструмент. В вормах обращения все напрямую к базе.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#15: 2017-02-11 12:23:56 ЛС | профиль | цитата
Смотри личку.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)