Как я могу установить ввод текста в 0, если переменная равна нулю в asp-classic?

0

Извините за плохо сформулированный заголовок. Мой вопрос намного длиннее 150 символов, поэтому мне пришлось попробовать его сжать.

У меня есть asp-классическая страница, на которой есть примерно 100 текстовых входов. Эти входы заполняются данными из базы данных оракулов с использованием adovbs. Однако, если пользователь вставляет новую запись, очевидно, что не будет никаких данных из базы данных, что означает, что все входы будут пустыми. Я хочу, чтобы все эти данные по умолчанию были равны 0, но если есть какие-либо предыдущие данные из базы данных, я хочу, чтобы они имели в них фактические данные? Как я могу это сделать?

Текущая структура программы такова:

SELECT * FROM TABLE WHERE DATE=selectedDate AND SHIFT=selectedShift

<%
     date = RS("DATE")
%>

создать сайт

<input type="text" id="date" value="<%=date%>"></input>

Вы понимаете. Как я могу это сделать, если date равна нулю, т.е. Нет данных в выбранной записи, входное значение будет 0 без необходимости писать оператор if для каждого отдельного входа? Я использую jquery на своей странице, так что есть ли способ, которым я могу выполнить проверку почты после того, как страница будет построена, и просто сделайте

for each [input]
  if ([input].val.length==0)
       [input].val = 0

Это возможно? И если да, то какой синтаксис будет для этого? Я действительно хорош с пользовательским интерфейсом jQuery, а не базовым.

Теги:
asp-classic
textbox

3 ответа

2

Вы можете написать функцию, которая преобразует нули в 0:

Function NotNull(val)
     If IsNull(val) Then
         NotNull = 0
     Else
         NotNull = val
     End If
End Function

Затем, вместо...

date = RS("DATE")

... используйте свою функцию, чтобы преобразовать ее в нуль, если null:

date = NotNull(RS("DATE"))
  • 0
    Обратите внимание, что «Дата» является определенной функцией в VBScript. Возможно, вы захотите найти другое имя для этой переменной.
  • 0
    Спасибо за ответы. На самом деле я надеялся сделать это в javascript, используя a для каждого, поэтому мне не нужно было вызывать функцию для каждой переменной, и я понял это, но все равно спасибо!
2

используйте функцию isnull в вашем SQL. пример:

выберите isNull (дата, 0) в качестве даты

вы получаете 0, когда дата равна нулю

  • 0
    Можно ли обернуть isNull вокруг каждого столбца, который я выбираю? как ... выбрать isnull (дата, время, смена, employee1)?
  • 0
    @AlexKibler нет, вы должны сделать это для каждого столбца. или вы меняете структуру таблицы. не допускайте NULL в любом столбце и устанавливайте вместо него стандартное значение (например, 0 или ''). тогда вам не нужно это isNull ()
0

Я понял, что мне нужно делать. Я надеялся избежать использования каких-либо материалов оракула, так как я мало знаю о стороне базы данных и хотел бы, чтобы это было просто решение javascript, если возможно, в любом случае. Вот что я в итоге сделал. После того, как страница построена и все поля заполнены из базы данных, все, что осталось пустым (что означает отсутствие данных), были заполнены с нулями.

$('input[type="text"]').each(function() {
    if (this.value.length == 0) {
        this.value=0;
    }   
}); 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню