Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.10.2007, 15:05
|
|||
|---|---|---|---|
|
|||
Работа с хранимыми процедурами |
|||
|
#18+
Вопрос состоит в следуещем: 1 Есть бд в которой есть таблица СREATE TABLE street ( id_street smallint NOT NULL, street_text character(150), CONSTRAINT street_pkey PRIMARY KEY (id_street) ) WITHOUT OIDS; ALTER TABLE street OWNER TO creature; Так как я не нашел как делать икрементным поле в таблицу создал хранимуя процедуру на добавление записи 2 CREATE OR REPLACE FUNCTION "add"(street_te bpchar) RETURNS void AS $BODY$DECLARE id integer; begin if (not exists(select street_text from street where street_text=street_te)) then select id_street from street ORDER BY id_street DESC; id:=id_street+1; insert into street values(id,street_t); end IF; END;$BODY$ LANGUAGE 'plpgsql' VOLATILE; ALTER FUNCTION "add"(street_te bpchar) OWNER TO creature; GRANT EXECUTE ON FUNCTION "add"(street_te bpchar) TO creature; В которой и происходит добавление с проверкой на повторный ввод и инкрементированием ключевого поля. Используя SharpDevelup я обращаюсь к базе и вызываю это хранимую процедуру 3 NpgsqlCommand command = new NpgsqlCommand(); сommand.CommandText="add"; command.CommandType=System.Data.CommandType.StoredProcedure; command.Connection =con; command.CommandType = CommandType.StoredProcedure; //и передаю параметры NpgsqlParameter stree = new NpgsqlParameter("street_te",NpgsqlTypes.NpgsqlDbType.Varchar); stree.Direction= ParameterDirection.Input; stree.Value=textBox1.Text; command.Parameters.Add(stree); try { Все компилится и запускается, но когда я ввожу в поле данные и нажимаю кнопку ввода он мне выдает ERROR: 42601: query has no destination for result data в чем моя ошибка? con.Open(); command.ExecuteNonQuery(); con.Close(); } finally { con.Close(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2007, 15:45
|
|||
|---|---|---|---|
|
|||
Работа с хранимыми процедурами |
|||
|
#18+
как делать икрементным поле в таблицу id_street SERIAL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2007, 16:13
|
|||
|---|---|---|---|
|
|||
Работа с хранимыми процедурами |
|||
|
#18+
я разобрался в чем проблема! :=) Только теперь пожалуйста по подробней о том как сделать инкрементным ключевое поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2007, 16:34
|
|||
|---|---|---|---|
|
|||
Работа с хранимыми процедурами |
|||
|
#18+
Так Код: plaintext 1. 2. 3. 4. 5. 6. тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&tablet=1&tid=2004927]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 402ms |

| 0 / 0 |
