Работа с командной строкой

ТолькоНачал1989
Дата: 16.11.2012 16:10:11
Привет, я начинаю изучение FoxPro 9.0 как работать с командной строкой?

1. Т.е. хотелось бы узнать как открыть существующую таблицу через командную строку
2. Как сделать фильтрацию в этой таблице по полю к примеру id=1
3. и последнее как написать запрос в командной строке и сделать выборку.

Если можно на примерах. Спасибо
ArgonS
Дата: 16.11.2012 16:22:52
1) USE [[DatabaseName!] TableName | SQLViewName | ?] [IN nWorkArea | cTableAlias] [ONLINE] [ADMIN] [AGAIN] [NOREQUERY [nDataSessionNumber]] [NODATA] [INDEX IndexFileList | ? [ORDER [nIndexNumber | IDXFileName | [TAG] TagName [OF CDXFileName] [ASCENDING | DESCENDING]]]] [ALIAS cTableAlias] [EXCLUSIVE] [SHARED] [NOUPDATE] [CONNSTRING cConnectionString | nStatementHandle ]

пример:
use c:\base\table1 in 0 alias T1


2) SET FILTER TO [lExpression] [IN nWorkArea | cTableAlias]

пример:
set filter to id=1 



3) SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] Select_List_Item [, ...] FROM [FORCE] Table_List_Item [, ...] [[JoinType] JOIN DatabaseName!]Table [[AS] Local_Alias] [ON JoinCondition [AND | OR [JoinCondition | FilterCondition] ...] [WITH (BUFFERING = lExpr)] [WHERE JoinCondition | FilterCondition [AND | OR JoinCondition | FilterCondition] ...] [GROUP BY Column_List_Item [, ...]] [HAVING FilterCondition [AND | OR ...]] [UNION [ALL] SELECTCommand] [ORDER BY Order_Item [ASC | DESC] [, ...]] [INTO StorageDestination | TO DisplayDestination] [PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT]

пример:
select * from T1 where id=1 into cursor T2 nofilter 



А вообще скачайте help русский, там много полезного можно найти, и по этим командам тоже.
ТолькоНачал1989
Дата: 16.11.2012 16:26:38
ArgonS, а я такой use c:\base\table1 in 0 командой пробую открыть знаете что пишет..внизу пишет Record Unloked и не открывается таблица, второй раз когда делаю такую же команду пишет что файл уже используется
ArgonS
Дата: 16.11.2012 16:35:38
ТолькоНачал1989
ArgonS, а я такой use c:\base\table1 in 0 командой пробую открыть знаете что пишет..внизу пишет Record Unloked и не открывается таблица, второй раз когда делаю такую же команду пишет что файл уже используется



use C:\base\table1 in 0 - открывает таблицу в свободном пространстве и делает ее активной на текущий момент

что-б просмотреть таблицу нужно ввести команду browse

что б закрыть таблицу - используйте одиночный use, а если открыто много таблиц, то select 'имя или алиас открытой таблицы', а затем use
ТолькоНачал1989
Дата: 16.11.2012 16:45:27
ArgonS, а вот у меня вопрос еще.. открыл таблицу, она отобразилась. Теперь хочу сделать фильтрацию по фамилии оставить только тех у кого фамилия равна Крылова пишу так
set filter to familiya='Крылова' не фильтруется таблица как была так и остается
ArgonS
Дата: 16.11.2012 16:56:01
ТолькоНачал1989
ArgonS, а вот у меня вопрос еще.. открыл таблицу, она отобразилась. Теперь хочу сделать фильтрацию по фамилии оставить только тех у кого фамилия равна Крылова пишу так
set filter to familiya='Крылова' не фильтруется таблица как была так и остается


тут 2 варианта: 1) через командную после команды set filter нужно обязательно использовать browse
2) возможно разрядность поля не совпадает или случайно пробел вначале поставил(в таблице) - пробуйте обрезать все пробелы в начале и в конце так set filter to alltrim(familiya)='Крылова' и естественно после этой строки browse
justIT
Дата: 16.11.2012 17:23:48
"Command line" <> "Command window"

Хотя в данном топике видимо всем покуй
ArgonS
Дата: 16.11.2012 17:25:51
justIT
"Command line" <> "Command window"

Хотя в данном топике видимо всем покуй


очень правильное замечание, особенно в тяпницу :)
IgorNG
Дата: 19.11.2012 09:45:17
ТолькоНачал1989,

После команды set filter ... используй команду GO TOP для применения фильтра