Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Работа с хранимыми процедурами
|
|||
|---|---|---|---|
|
#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:05 |
|
||
|
Работа с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
как делать икрементным поле в таблицу id_street SERIAL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 15:45 |
|
||
|
Работа с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
я разобрался в чем проблема! :=) Только теперь пожалуйста по подробней о том как сделать инкрементным ключевое поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 16:13 |
|
||
|
Работа с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Так Код: plaintext 1. 2. 3. 4. 5. 6. тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 16:34 |
|
||
|
|

start [/forum/topic.php?fid=53&tid=2004927]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 383ms |

| 0 / 0 |
