Использование VBscript для чтения из базы данных SQL
У меня настроена база данных SQL, в которой я хотел бы использовать vbscript для чтения из нее.
Вот код, который я пытаюсь использовать.
SQL_Command_String = "SELECT * FROM Table1 JOIN Table2 WHERE Table1.ID = '5' AND Table2.Date LIKE '2011'"
Set Rs = SQLConnection.Execute(SQL_Command_String)
DO WHILE NOT Rs.EOF
file1="./seminars/"&seminar_type&"/"&seminar_year&"/"&Rs("date")&"-"&Rs("year")&"_"&Rs("last")&".pdf"
семинар_год и семинар_тип - это константы, которые я инициализировал и объявил как "семинар_год = 2011" и "семинар_тип = раздел1".
Я полагаю, что SQL_Command_String испорчен с оператором LIKE. Я не уверен, правильно ли он используется. Я просто хочу, чтобы в нем находились ячейки, включающие 2011 год, но я не уверен, стоит ли включать подстановочные знаки для частей месяца и дня, и если да, то какие подстановочные знаки?
Когда я закомментирую объявление (Set) Rs, страница загружается нормально (за исключением того, что она не заполнила таблицу). Ошибка, которая отображается, когда включена: "На сервере произошла ошибка при обработке URL. Пожалуйста, свяжитесь с системным администратором. Если вы системный администратор, пожалуйста, нажмите здесь, чтобы узнать больше об этой ошибке".
Здесь вы просто перейдете на страницу Microsoft по работе с ОС IIS 7, о которой я уже рассказывал.
Я действительно озадачен этим, мои мысли о том, что у меня неверная команда SQL, возник конфликт с новой платформой, которая отсутствует, или я неправильно объявляю читателя, или, возможно, я не использую правильный тип читателя,
Я был бы признателен за любые идеи, которые есть у SO сообщества. Спасибо и, пожалуйста, знайте, я очень новичок в VBscripts
2 ответа
Попробуйте удалить AND Table2.Date LIKE '2011'
расстаться и посмотреть, если это работает. Я предполагаю, что это потому, что ваш столбец даты имеет тип данных date или datetime, а не тип char. Я думаю, что LIKE будет работать только для типов данных char, поэтому вам нужно будет сравнить фактические даты, например Table2.Date >= '1/1/2011' AND Table2.Date <= '12/31/2011'
или что-то подобное, в зависимости от базы данных, которую вы используете.
Я нашел оскорбительный код.
Set Rs = SQLConnection.Execute(SQL_Command_String)
Ключевое слово Set не может использоваться при использовании читателя. Я не нашел никакой документации, подтверждающей это, но удаление Set решило проблему.
Остальной код подключения правильный. Спасибо всем за ваш вклад.