sla8a писал(а):
чтоб он не зависел от ORDER BY от INNER JOIN и прочегоВторой у меня не работает (выдает номер не по порядку):
Add(MainForm,2363590,217,168)
{
Width=584
Height=344
Caption="Тест с нумерацией"
Position=1
link(onCreate,6127294:doEvent1,[])
}
Add(StrList,3068266,399,126)
{
Strings=#13:Петров;Москва|12:Иванов;Минск|12:Сидоров;Киев|13:Смирнов;Киров|14:Малевич;Сидней|
Point(doGetIndex)
Point(onGetIndex)
}
Add(Button,9912960,217,301)
{
Left=105
Top=270
TabOrder=-1
Caption="Select"
Data=Integer(0)
link(onClick,11037579:doEvent2,[])
}
Add(DS_SQLite,11171972,301,182)
{
Name="bd"
FileName=":memory:"
link(onOpen,7933638:doExec,[])
}
Add(DSC_Exec,7933638,350,182)
{
SQL="CREATE TABLE [myTable](\r\n [name] text, \r\n [city] text);"
DSManager="bd"
link(onExec,924678:doEnum,[])
}
Add(DSC_Query,9807701,336,301)
{
SQL="SELECT\r\n(SELECT COUNT(*) FROM myTable t2 WHERE t2.rowid <= t1.rowid) AS номер_по_порядку,\r\nname,\r\ncity\r\nFROM myTable t1\r\nORDER BY name; "
DSManager="bd"
link(onQuery,15038004:doAddRow,[])
link(onColumns,15038004:doAddCols,[])
link(onError,10314794:doMessage,[(380,321)(380,349)])
}
Add(DSC_Exec,13859579,574,168)
{
DSManager="bd"
}
Add(MT_String,9368895,476,168)
{
link(onResult,653926:doString,[])
}
Add(FormatStr,653926,525,168)
{
Mask="INSERT\r\nINTO [myTable](\r\n [name], \r\n [city])\r\nVALUES('%1','%2'); \r\n"
link(onFString,13859579:doExec,[])
}
Add(MTStrTbl,9589444,455,301)
{
Left=5
Top=40
Width=510
Height=220
Name="asd"
}
Add(MST_DB,15038004,392,301)
{
MSTControl="asd"
}
Add(MST_Clear,5644650,336,259)
{
ClearAll=0
MSTControl="asd"
}
Add(Hub,11037579,294,294)
{
InCount=2
OutCount=3
link(onEvent1,5644650:doClear,[(319,300)(319,265)])
link(onEvent2,9807701:doQuery,[])
link(onEvent3,5774788:doColAction,[(326,314)(326,349)])
}
Add(MST_ColAction,5774788,336,343)
{
Action=11
Index=-2
MSTControl="asd"
}
Add(ArrayEnum,924678,413,182)
{
link(onItem,9368895:doMTString,[])
link(Array,3068266:Array,[])
}
Add(Message,10314794,392,343)
{
}
Add(Hub,6127294,259,182)
{
link(onEvent1,11171972:doOpen,[])
link(onEvent2,11037579:doEvent1,[(283,195)(283,300)])
}
Нахожусь в некотором недоумении по данному вопросу. Почему это в БД реализовано через одно место? Есть много различных нужных плюшек под любые задачи, но такая простая задача требует каких-то плясок с бубном.