powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Загнать NULL в столбец
30 сообщений из 30, показаны все 2 страниц
Загнать NULL в столбец
    #32035999
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброй работы!

Есть таблица
Код: plaintext
1.
2.
Create table a ( sys int NOT NULL, a1 int NULL, a2 datetime NULL)

INSERT a VALUES ( 1 , 5 , 5 )

ЕСТЬ ХП

Код: plaintext
1.
2.
3.
CREATE PROCEDURE UPD_A @sys, @a1, @a2 AS
UPDATE a SET a1=@a1, a2=@a2
WHERE sys=@sys
go



А теперь хочется запустить UPD_A со значениями 1, NULL, NULL
а она не запускается

ВОт и вопрос

КАК загнать NULL в столбец?

Наверное просто, скажите как?
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036000
alexr_r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, у меня все классно запускается, может
у тебя нет той строки, которую ты обновляешь
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036001
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "а она не запускается " ?

exec UPD_A 1, NULL, NULL выдает ошибку ? Какую ?
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036006
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо указать тип данных для @sys, @a1, @a2.

Код: plaintext
1.
2.
3.
4.
5.
CREATE PROCEDURE UPD_A @sys int, @a1 int, @a2 int AS
UPDATE a SET a1=@a1, a2=@a2
WHERE sys=@sys
go

...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036007
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините, у меня тоже уже заработала.
Ошибочка вышла...
Но это конец истории, а ноги растут от ADO, которое в странице ASP, в которой есть форма. Так вот если в форме поле не заполнено, то обработчик формы дает ошибку
Application uses a value of the wrong type for the current operation.

cmd.Parameters.Append(cmd.CreateParameter(
"a1", adDouble, adParamInput, 8, Request("f_a1")(1)));


A все остальное так и есть через ХП, в таблице поля с разрешением NULL

Ну и с датой тоже самое
Если поля на ASP cтранице заполнены, все работает как часики
ПЕреформулирую вопрос
как в ADO Загнать NULL в столбец
СПАСИБО
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036009
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО,
моя невнимательность.
В реальной ХР все грамотно
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036012
Фотография Dmitri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так

cmd.Parameters.Append(cmd.CreateParameter(
"a1", adDouble, adParamInput, 8, IIF(Request("f_a1")(1)="",NULL,Request("f_a1")(1))));
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036022
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жарко у нас сегодня, не получается толково писать.

Правильно будет так

Результаты ввода в поля формы HTML будут потом переданы в ХП с помощью ADO.
Так вот если содержимое полей отсутсвует, то не могу передать NULL через ADO на сервер для XП для столбцов типа int, float, datetime. Для char (varchar) - могу считывать и передавать отсутствующее содержимое прямо из поля формы (но там конечно не NULL).


ХОЧУ передать NULL на сервер
КАК?

Cпасибо
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036025
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO никак. Передавай какое-нибудь левое значение, а на сервере анализируй и переприсваивай в NULL.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036033
Глист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А у меня проблем с передачей null в парамерах нет. Только у меня Delphi, а не html, но ADO такое же :-) И вот в моем делфи для параметров есть функция Clear. Выглядит это как Parameters.Item[0].Clear После этого на сервер передается null. Точно так же передается null при апдейте значений полей.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036035
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TO Dmitry

НЕТ в ADO NULL,
НЕТ в Jscript IIF

_______________
Пока письмо писалось, в голове крутилось, что Jscript чувствителен к регистру

НЕТ в Jscript NULL, зато есть шесть типов данных, один из которых null, хотя это язык со свободной типизацией.....
Короче, так накрутили....

Все работает, всем спасибо, а писать надо null, и никак иначе, здесь это не константа, не значение, а тип данных
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036079
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ASP null передается, как строка 'undefined'. Нужно выполнять проверку на наличие этой строки.
Ловится примерно так.

var param=new String(Request.Form('param'));

if (param != 'undefined') {...
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036198
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TO CAT2

Спасибо, это грамотнее чем у меня
If (param=="") param=null

Но тоже уже работает.
Проблема была написать null ловеркейзом. В других языках уважительно NULL :-)))
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036244
Фотография Dmitri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, махнул пример на VB, да еще и с ";"
это после вавилонской башни :)
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036367
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TO CAT2
if (param != 'undefined') {... не хочет на Javascript
Может просветите, почему
A так работает:
If (param=="") param=null

Может все-таки передает пустую строку, а не undefined?

Поймешь его.... язык, пардон, со свободной типизацией..:-)))
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036370
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня, вроде, всегда возвращает 'undefined'. А фиг его значет. Можно числовые значения проверять на isNaN.
А Вы точно ловили через new String?
Это важный момент.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036371
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To CAT2

Да, итак и сяк
Если пишешь
if (ss==undefined) ss=null;
говорит что слова undefined не знает
если "undefined" то это уже string
если 'undefined' тоже ругается

Так что пишу
if (ss=="") ss=null;

Похоже, это выходной поток, тип поля <INPUT type="text">
даже если это числа, даты и т.п.
И в выходной поток пишется для этого поля строка нулевой длины

(По-моему...)
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036374
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по help-у применение undefined требует WSH версии 5.5
У вас такая версия ?

Там же есть пример

var declared; //Declare variable.
if (declared == undefined) //Test variable.
document.write("declared has not been given a value.");

if (typeOf(notDeclared) == "undefined")
document.write("notDeclared has not been defined.");
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036376
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любят люди своими руками создавать себе проблемы.
ЗАЧЕМ АСПЫ НА JSCRIPT ПИШИТЕ??? ОЧЕНЬ КРУТЫЕ???
ЕСТЬ ПАРНИ ПОКРУЧЕ ВАС, А ПИШУТ АСПЫ ТОЛЬКО НА VBSCRIPT.
И проблем не имеют потом.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036378
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Re RatTail. Я принципиально пишу только на JavaScript. И на броузере отключаю поддержку VBScript. Нету у меня доверия к этому языку. При использовании ASP это конечно глупо, но уж как могу. А круче меня в DHTML нет. А может есть.

Re Незнайка.
Проведите эксперимент.
Что там у Вас на самом деле вылетает, просмотрите через Response.Write, отображаемом на странице. Я всегда так делаю.
Мне так кажется, что это зависит от версии IIS.
К сожалению, я не большой знаток этого продукта. Все мои эксперименты были под PWS для W98 и W2k. И на том, что Вы видите в плохо работающем опросе на этом форуме.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036383
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что бы Вы сказали, если бы я ляпнул: изъясняюсь только на
французском языке, потому как нет доверия к немецкому.
Чушь всё это. Плз, приведите пример Вашей крутизны в DHTML. rattail@mail.ru
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036385
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Re RatTail
Сказал бы, что правильно, нужно изъяснятся на том языке, который лучше передает авторские мысли.
Но это не ответ. Имею я право на маленький бжик?

Что я могу, можно глянуть на HTMLart.ru
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036386
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во, вспомнил:
1) есть на форме поле со списком и радиобаттон. Сделайте:
щёлкаем на радиобаттоне - раскрывается поле со списком.
2) сейчас на user1.7host.com/rattail/ лежит мой демотест из четырёх вопросов, на каждый вопрос я даю 7 секунд. Для контроля времени я НЕ использую response.cookies() (request.cookies()) - контроль этот с погрешностью большой (в том смысле, что мы не знаем сколько времени эта кука будет в пути). Но обдурить меня с отведённым на ответы временем Вы не сможете (по типу, "освежить" и "повторить отправку данных формы" (чтобы заново запустить скрипт на том же вопросе), нажать на кнопку "назад" и т.д.). Контроль времени - ТОЛЬКО на клиенте. Вот Вам и Ваш ДжаваСкрипт (не знал я, что Вы такой сноб (чуть не сказал - недоумок)). Попробуйте повторить мои (две) паги. Хрен там. Не получится.
Сейчас пойду смотреть HTMLart.ru, но вряд ли впечатлюсь - эффекты на меня не действуют.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036387
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Re RatTail
Переносим дальнейшее обсуждение в "Просто треп."
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036438
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To Glory
Стоит у меня IIS 5.0 и undefined не понимает, хоть как не пиши...
На самом деле вопрос уже свелся к обработке выходного потока, т.е.
POST Data:
dd=7&nn=low&ss=&kk........
Насколько я понимаю обмен между ASP формой и обработчиком формы на обработчик идет POST - байтики в некоторой 8-бит кодировке и вопрос обработки этого потока- что выделяет язык JavaScript из этого месива в отношении злополучной ss
а вариантов как я понимаю 3
интерпретировать ss= как пустую строку, unfdefined или null. НО об это нигде не написано толком.....

______
ТО RATTAIL

Вы превзошли много наук, а знаете ли ВЫ что имя определяет поведение человека, а иногда его судьбу.

Поменяете Ваш ник RATTAIL например на PUSSYCAT и жизнь заиграет новыми красками уже через 2-3 месяца

ПОПРОБУЙ, НЕ ПОЖАЛЕЕШЬ :-))))))
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036514
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищ Незнайка!
Ни за что. Никогда. Разве что за большие деньги. У Вас
есть такие суммы? Нет, конечно. Вот когда будут - тогда
и поговорим. И потом, я давно пришел к выводу, что челы
подвержены ламерской иллюзии: будто бы они могут управлять своими мыслями, речью и поступками. Ни хрена,
брат (даун или не даун - не мне решать (не обижайся)). Просто челы проживают свою давно расписанную (где, кем и когда - не знаю) судьбу. Вот яркое подтверждение -
феномен "deja vu". Где мы "уже" видели то, что мы видим в
момент этого чуйства??? Отвечаю: в наших сновидениях.
Я убедился в этом на себе. Но, вот Вам настоящий авторитет (не ламер) - Игорь Сикорский. В своих

Что-то я устал. Надо отдохнуть. Жалко, на работе не приляжешь. И ещё. Вот я вчера попёр на Cat2, хотя прекрасно знал, что он мне уши отдерёт запросто. А, может быть, даже обидится (но это вряд ли - слишком он умён, енты кот). Вот. Знал всё прекрасно, а всё равно попёр. Как ты объяснишь??? Ответ: судьба.
Если бы НЕ попёр - тоже судьба. Короче говоря, жизнь - это фарс-комедия. Вывод: это не жизнь и жизнь не здесь,
а где-то на другом уровне бытия.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036533
Фотография Тимур
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Философ....
:0)
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036535
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 RatTail Можешь теперь смело застрелиться.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32036546
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Незнайка!
Создайте в корне Вашего веб-сервера файл с именем test.asp.
Внесите в него следущее:

<%@ LANGUAGE=JScript CODEPAGE='1251'%>
<% Response.expires=-1 %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
</HEAD>
<BODY>
<%
var text1=new String(Request.Form('text1'));
var radio1=new String(Request.Form('radio1'));
var select1=new String(Request.Form('select1'));
var checkbox1=new String(Request.Form('checkbox1'));
%>
<h2>Список переменных, явно преобразованных в String</h2>

<p>Переменная text1=Начало строки[<%=text1%>]Конец строки
<p>Переменная radio1=Начало строки[<%=radio1%>]Конец строки
<p>Переменная select1=Начало строки[<%=select1%>]Конец строки
<p>Переменная checkbox1=Начало строки[<%=checkbox1%>]Конец строки

<form method=post action="/test.asp">
<INPUT type="text" id=text1 name=text1>
<HR>
<SELECT size=2 id=select1 name=select1>
<OPTION>OPTION 1</OPTION>
<OPTION>OPTION 2</OPTION>
</SELECT>
<HR>
<INPUT type="radio" id=radio1 name=radio1 checked>
<INPUT type="radio" id=radio2 name=radio1>
<HR>
<INPUT type="checkbox" id=checkbox1 name=checkbox1>
<HR>
<INPUT type="submit" value="Submit" id=submit1 name=submit1>
<INPUT type="reset" value="Reset" id=reset1 name=reset1>
<form id=form1 name=form1>
</BODY>
</HTML>

-----------------
Посмотрите, что там у Вас реально выскакивает
а) При перврначальной загрузке
б) После обновления
в) После отсылки сообщения

После этого пишите обработчик.
...
Рейтинг: 0 / 0
Загнать NULL в столбец
    #32038480
Незнайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TO CAT2

Спасибо за готовый тест
В текстовом поле действительно в первоначальной загрузке страницы undefined, а после отправки пусто [].

Но, скорее всего у меня подможество JavaScript, т.к. транслятор не знает слова undefined. Хотя на станице пишется undefined. Но в ASP странице слово undefined вызывает ошибку.
В любом случае, я обрабатываю текстовое поле на проверку == "", и в базу загоняю то, что требуется (или null или что-то другое по контексту или если поле обязательное- возвращаю к заполнению)

Еще раз спасибо за участие
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Загнать NULL в столбец
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]