![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как по резать слово на части? [D6, XP]
Новинький © (2006-07-04 18:40:00)Ребята объясните пожалуйсто как порезать слово, к примеру:
Петров Иван Иванович 7-37-07т.е. на
части фамилия имя отчество и телефон?
pavel_guzhanov (2006-07-05 16:19:00) [1]замени все Edit.text на параметры, как у тебя сделано с id .
параметрам надо присваивать значения, а в твоем коде этого не видно.
Запрос не на выборку записей выполняется не Open, а ExecSQL
ps. А какая у тебя база?
StriderMan (2006-07-05 15:58:00) [2]
> Ошибки не васкакивает! А запись не добавляеться!!!
а транзакцию подтвердил?
alex_*** (2006-07-05 14:30:00) [3]ExtractStrings неплохо вырезает куски, разделенные заданными разделителями
alex_*** (2006-07-05 14:30:00) [4]ExtractStrings неплохо вырезает куски, разделенные заданными разделителями
alex_*** (2006-07-05 14:30:00) [5]ExtractStrings неплохо вырезает куски, разделенные заданными разделителями
Desdechado (2006-07-05 14:10:00) [6]> Ошибки не васкакивает! А запись не добавляеться!!!
Пользуйся Плохиш © (04.07.06 19:20) [9]
> Текуший проводник не поддерживает возврат нескольких наборов записей
Я уже отвечал в другой ветке. Для INSERT делать ExecSQL, а не Open
evvcom (2006-07-05 13:52:00) [7]М...дяяяяя...
Думкин (2006-07-05 07:01:00) [8]TStringList
DelimitedText
или функцию ИШ. ссылку не помню.
KLAUS (2006-07-05 06:25:00) [9]Если тебе нужно порезать слова то просто проверяй строчку до знака пробел, затем следующую и так до конца строки.
Новинький (2006-07-04 20:24:00) [10]?
Новинький (2006-07-04 19:43:00) [11]Нужно ли там поставить что-то типа if query4.Active then query4.ApplyUpdates;
Новинький (2006-07-04 19:40:00) [12]Ругаеться на запрос!
Новинький (2006-07-04 19:40:00) [13]Что значит: " Текуший проводник не поддерживает возврат нескольких наборов записей, в результате одной операции" ?
Новинький (2006-07-04 19:29:00) [14]Что за хрень извеняюсь за вырожение, пытаюсь исполнить запрос:
'insert into phone (id, fam, name, otch, tel) values (:id, '+Edit1.Text+', '+Edit2.Text+', '+Edit3.Text+', '+Edit4.Text+')'
Ошибки не васкакивает! А запись не добавляеться!!!
Плохиш (2006-07-04 19:20:00) [15]
> Новинький (04.07.06 19:06) [5]
Ужость!
with Main.ADOQuery2 do
try
Active := false;
SQL.Text:='insert into phone (id, fam, name, otch, tel) values (:id,:e1,:e2,:e3,:e4)';
(* здесь присваиваем соответствующие значения параметрам,
так параметр "id" был написан вопрошающим, есть надежда,
что работа с другими параметрами трудности не составит *) ExecSQL;
except
on E:Exception do ShowMessage(E.Message);
end;
J_SABER (2006-07-04 19:17:00) [16]Насколько я помню вырезанием строк занимается функция cut.Посмотри в хелпе.
Новинький (2006-07-04 19:10:00) [17]Как проверить ошибку, если ошибка есть, то перехвотить ее и выдать сообщение?
Новинький (2006-07-04 19:08:00) [18]Пишет:
[Error] Unit2.pas(47): Undeclared identifier: 'Execute'
Новинький (2006-07-04 19:06:00) [19]Еще вопрос?
with Main.ADOQuery2 do
try
if Main.ADOQuery2.Active then
begin
Close;
SQL.Clear;
SQL.Text:='insert into phone (id, fam, name, otch, tel) values (:id, '+Edit1.Text+', '+Edit2.Text+', '+Edit3.Text+', '+Edit4.Text+')';
Open;
{ if Execute then
begin
on ??? do
First;
end; }
end;
finally
{ Free; }
end;
Где ставить close; после Begin или после if Main.ADOQuery2.Active then ?
Почему в программе выдают ошибку на строчке if Execute then ?
Lagrima_JN (2006-07-04 18:54:00) [20]Нет такой функции.
Тебе самому ее написать надо - на вход подаешь строку, внутри разбиваешь ее на слова (ориентируясь по пробелам) и выдаешь их, например, в record'е. А на выходе уже сам анализируй, что у тебя имя, что у тебя фамилия, что у тебя телефон.