Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Непонятки с хранимой процедурой   Найти похожие ветки 

 
dreamse   (2006-02-21 13:47) [0]

В общем код



CREATE PROCEDURE AddPingstatList (
@date datetime,
@compNumber char(10),
@key char (10)
)

AS

UPDATE
Statis_ping
SET
Dateping = @date,
t010 = "1"


Должен обновить поля Dateping и поле t010  ( уставновить ему "1" ) что и происходит

Проблема вот в чём : Полей типа t010 у меня более 140 ( t010 , t011 , t012 , t013 , t014 и.д )

Все их переписывать в запросе нет нужды , можно ли сделать так :


UPDATE
Statis_ping
SET
Dateping = @date,
@key = "1"


А в @key уже будет записано имя поля т.е t010
Чтобы программа могла просто передавать имя поля и значение , а процедура писала бы в это поле , а не перечислять все 140 полей в процедуре


 
stone ©   (2006-02-21 13:51) [1]

можно
см. EXECUTE в BOL


 
dreamse   (2006-02-21 13:59) [2]

> stone ©   (21.02.06 13:51) [1]

Не нашёл ... по запросу EXECUTE найдено 786 значений ... где искать ? или скажите как составить такой запрос... Срочно нужно


 
MOA ©   (2006-02-21 14:03) [3]

>Полей типа t010 у меня более 140
Следовательно, неладно что-то в датском королевстве ;).
А именно - структура базы спроектирована, видимо, как-то не так. Так редко бывает, чтобы такая колбаса была нужна. Да и геморроя при написании приложения будет изрядно - например, вот такого как в сабже.
Удачи!


 
Ega23 ©   (2006-02-21 14:06) [4]


> Полей типа t010 у меня более 140


Какой ужас!!!!
Немедленно исправляй структуру базы, а то так намучаешься - мама не горюй!


 
dreamse   (2006-02-21 14:07) [5]

> MOA ©   (21.02.06 14:03) [3]

Я всё понимаю что данный подход неверен , но нужно написать функцию которая бы пинговала клиентов каждый 10 минут и зановила данные в таблицу , чтобы потом можно было просмотреть когда и где клиенты были а когда их небыло :

Пример
http://acs.drage.kz/files/pic/ping.jpg

Сколько клиентов не известно ,
Если есть более радикальное решение данной задачи , то ознакомьте будьте любезны


 
stone ©   (2006-02-21 14:11) [6]

У тебя на каждый временной промежуток отдельное поле? Срочно меняй структуру.


 
dreamse   (2006-02-21 14:16) [7]

> stone ©   (21.02.06 14:11) [6]

Каким образом ? мозги совсем что то не варят :(  Весь день думаю уже над этим ...

Нужно :

1) Занесение данных каждые 10 минут на разное ( от 1 до 200 ) количество компьютеров клиентов
2) Чтение и формирование отчёта , либо графического представления ( как показано на рисунке , с вычитанием времени : сколько не пинговался клиент )


 
MOA ©   (2006-02-21 14:22) [8]

Например - таблица с полями "ИДклиента", "Время", "Состояние", ключ - "ИДклиента", "Время", возможно, дополнительно индекс по "Время" - но нужно смотреть. Для MSSQL подобная таблица - не вопрос, если железке хотя бы года 2001-2002.
Работа с такой таблице намного проще, не говоря уже о том, что правильнее. Да и
>на разное ( от 1 до 200 ) количество компьютеров
Удачи!


 
stone ©   (2006-02-21 14:24) [9]

Ну так и заноси компьютер, время и результат пингования
На экране рисуй временную карту (хоть как на рисунке) и закрашивай квадратики



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.043 c
4-1138178994
maxim161
2006-01-25 11:49
2006.04.16
Shutdown&DOS applications


15-1143142521
Anonym
2006-03-23 22:35
2006.04.16
Программы для МК-52/61


2-1143922266
He3Hauka
2006-04-02 00:11
2006.04.16
Топологическая сортировка TreeView


4-1138015760
Kremen
2006-01-23 14:29
2006.04.16
SendInput


15-1143133574
User32
2006-03-23 20:06
2006.04.16
подскажите что это такое с программой?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский