Tad писал(а):
Самый надежный способ - это SELECT count() FROM 'reshenia'Спасибо! завтра попробую так и сделать.
Tad писал(а):
Если значение в колонке ни в коем случае не должно повторяться, то при CREATE TABLE указать для колонки, например : <имя колонки> TEXT UNIQUEэто тоже пригодится, но у меня чуточку иная задача: мне нужно чтоб одновременно по нескольким колонкам не было совпадений, а по одной могут повторятся. Т.е., к примеру у меня 10 колонок из них: название, номер, дефект могут повторятся, а вот название, номер, дефект и дата не должны и такая строка не должна быть добавлена в базу (это что бы одну и ту же запись не внесли многократно, но возможно пользователь внес в другие поля изменения и хочет заменить существующую запись. Соответственно мне нужно уведамить его о совпадении и предложить перезаписать, добавить или отменить добавление).
Сейчас я пытаюсь это сделать так:
Add(MainForm,2953706,21,105)
{
}
Add(LineBreak,7645958,259,224)
{
Caption="add"
link(Out,9396722:doEvent1,[])
Primary=[5281194,-84,7]
}
Add(LineBreakEx,4506383,364,98)
{
Type=3
link(_Data,7371429:Text,[])
}
Add(VisualStrings,7371429,364,63)
{
@Hint=#11:Имя таблицы|
Lines=#8:Reshenia|
Width=67
}
Add(DSC_Query,4255650,434,231)
{
DSManager="db1"
link(onQuery,5058227:doValue,[(473,237)(473,188)])
link(onError,4628038:doWork,[])
}
Add(LineBreakEx,12970717,343,203)
{
Type=2
}
Add(LineBreakEx,4628038,483,245)
{
Caption="Error"
}
Add(Charset,5853246,392,231)
{
Type=6
link(onCharset,4255650:doQuery,[])
}
Add(FormatStr,13568856,343,231)
{
DataCount=5
Mask="SELECT nom_izd, nd_akt FROM %1 WHERE %2 LIKE '%%%3%' END WHERE %4 LIKE '%%%5%'"
link(onFString,5853246:doCharset,[])
link(Str1,12970717:getVar,[])
}
Add(Memory,5058227,511,182)
{
}
Add(Hub,9396722,308,224)
{
OutCount=3
link(onEvent1,5058227:doClear,[(333,230)(333,195)])
link(onEvent2,13568856:doString,[])
link(onEvent3,12721262:doCompare,[(340,244)(340,286)])
}
Add(If_else,12721262,532,280)
{
link(onTrue,4804948:doString,[])
link(onFalse,2522072:doMessage,[(578,293)(578,335)])
link(Op1,5058227:Value,[(538,236)(517,236)])
link(Op2,7435311:Value,[(545,237)(566,237)])
}
Add(Memory,7435311,560,182)
{
}
Add(FormatStr,4804948,588,280)
{
DataCount=14
Mask="INSERT INTO '%1' (nom_res, dat_utv, tip_izd, nom_izd, nar_izd, nom_ra, pri_ra, nom_vch, baz_vch, nd_akt, pri_akt, xor_akt, tabl) VALUES ('%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', '%10', '%11', '%12', '%13', '%14')"
Point(FString)
link(onFString,364092:doCharset,[])
link(Str1,15428188:getVar,[])
}
Add(LineBreakEx,15428188,588,252)
{
Type=2
}
Add(DSC_Exec,798444,756,280)
{
DSManager="db1"
link(onError,7273134:doWork,[])
}
Add(LineBreakEx,7273134,798,287)
{
Caption="Error"
}
Add(Charset,364092,707,280)
{
Type=6
link(onCharset,798444:doExec,[])
}
Add(Message,2522072,595,329)
{
}