вопрос
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
Помогу чем смогу
Re: вопрос
Итак, для работы программы нужно:
1) База данных, например MS SQL Server
2) Программа Автообзвон SpRobot
3) Установленный Microsoft Visual Studio
4) И последнее .NET Framework
Как я и говорил ранее, прогарам будет две. Первая получает номер телефона и проверяет его по базе данных SQL Server, а также вне зависимости от результата проверки записывает его во внешнюю переменную за пределами скрипта. Вторая программа выполняется только при условии удачного звонка, она считывает перезаписываемое значение внешней переменной записанной первой программой. И меняет запись в поле «значение ключа» расположенном в таблице баз данных SQL Server.
1) База данных, например MS SQL Server
2) Программа Автообзвон SpRobot
3) Установленный Microsoft Visual Studio
4) И последнее .NET Framework
Как я и говорил ранее, прогарам будет две. Первая получает номер телефона и проверяет его по базе данных SQL Server, а также вне зависимости от результата проверки записывает его во внешнюю переменную за пределами скрипта. Вторая программа выполняется только при условии удачного звонка, она считывает перезаписываемое значение внешней переменной записанной первой программой. И меняет запись в поле «значение ключа» расположенном в таблице баз данных SQL Server.
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
"Удачный звонок" - это удачный дозвон (т.е. человек снял трубку) или же это удачный обзвон (т.е. человек снял трубку и ему сообщили нужную инфу)?DePlus писал(а):Вторая программа выполняется только при условии удачного звонка, она считывает перезаписываемое значение внешней переменной записанной первой программой.
Re: вопрос
Вторая программа выполняется при условии, что человек снял трубку, и ему сообщили нужную информацию.
Пожалуйста, помогите найти ошибки в первом скрипте вод код:
' VB Script Document
option explicit
Dim Conn
Dim oRes
Dim oCmd
'Устанавливаем и открываем соединение с MS SQL Server'
Set Conn = CreateObject("ADODB.Connection")
Set oRes = CreateObject("ADODB.Recordset")
Set oCmd = CreateObject("ADODB.command")
Conn.Provider= "SQLOLEDB.1"
Conn.ConnectionString = "Integrated Security=SSPI;Persist Security" &_
"Info=False;Initial Catalog=SQL БД телефонов;Data Source=Мой сервер"
Conn.Open
'Далее посылаем SQL запрос для поиска нужного номера в базе данных'
oCmd = "Select *From Телефоны WHERE telephone_numder = 89098775609"
'SQL запрос в базу данных'
oRes.Open "Телефоны", Conn
Dim text
oRes.MoveFirst
Do Until oRes.EOF
Wscript.Echo "telephone_numder: 89098775609"
oRes.Fields("89098775609")
mark = rs.Bookmark
oRes.Find "Pre-shared key = '001'", 1, , mark
oRes.MoveNext
text = oRes("Телефоны")
MsgBox("Результат поиска: " & text )
oRes.MoveNext
Loop
oRes.Close: Set oRes = Nothing
Conn.Close: Set Conn = Nothing
Соединение устанавливает «Recordset» тоже открывается, но почему-то нужного действия добиться не получается. А нужно мне чтобы вместе с номером телефона выводилось поле «значение ключа» расположенное в одну с ним строчку.
Вот структура таблицы:
Название Базы Данных: SQL БД телефонов
Название таблицы: Телефоны - Phones
Название полей:
Номер телефона - telephone number
Общий ключ - Pre-shared key
Значение Ключа - The value of the Key
telephone number, Pre-shared key, The value of the Key (0- пусто, 1-звонок был)
89098775609----------------001-------------0
78945612389----------------001-------------0
768585----------------------001-------------1
456969----------------------002-------------1
Пожалуйста, помогите найти ошибки в первом скрипте вод код:
' VB Script Document
option explicit
Dim Conn
Dim oRes
Dim oCmd
'Устанавливаем и открываем соединение с MS SQL Server'
Set Conn = CreateObject("ADODB.Connection")
Set oRes = CreateObject("ADODB.Recordset")
Set oCmd = CreateObject("ADODB.command")
Conn.Provider= "SQLOLEDB.1"
Conn.ConnectionString = "Integrated Security=SSPI;Persist Security" &_
"Info=False;Initial Catalog=SQL БД телефонов;Data Source=Мой сервер"
Conn.Open
'Далее посылаем SQL запрос для поиска нужного номера в базе данных'
oCmd = "Select *From Телефоны WHERE telephone_numder = 89098775609"
'SQL запрос в базу данных'
oRes.Open "Телефоны", Conn
Dim text
oRes.MoveFirst
Do Until oRes.EOF
Wscript.Echo "telephone_numder: 89098775609"
oRes.Fields("89098775609")
mark = rs.Bookmark
oRes.Find "Pre-shared key = '001'", 1, , mark
oRes.MoveNext
text = oRes("Телефоны")
MsgBox("Результат поиска: " & text )
oRes.MoveNext
Loop
oRes.Close: Set oRes = Nothing
Conn.Close: Set Conn = Nothing
Соединение устанавливает «Recordset» тоже открывается, но почему-то нужного действия добиться не получается. А нужно мне чтобы вместе с номером телефона выводилось поле «значение ключа» расположенное в одну с ним строчку.
Вот структура таблицы:
Название Базы Данных: SQL БД телефонов
Название таблицы: Телефоны - Phones
Название полей:
Номер телефона - telephone number
Общий ключ - Pre-shared key
Значение Ключа - The value of the Key
telephone number, Pre-shared key, The value of the Key (0- пусто, 1-звонок был)
89098775609----------------001-------------0
78945612389----------------001-------------0
768585----------------------001-------------1
456969----------------------002-------------1
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
Запрос у вас верный. Посмотрите значение полей так (надо указывать не конкретное значение, а имя поля!):DePlus писал(а): А нужно мне чтобы вместе с номером телефона выводилось поле «значение ключа» расположенное в одну с ним строчку
Код: Выделить всё
'Далее посылаем SQL запрос для поиска нужного номера в базе данных'
oCmd = "Select *From Телефоны WHERE telephone_numder = 89098775609"
'SQL запрос в базу данных'
oRes.Open "Телефоны", Conn
oRes.MoveFirst
' показать результат
MsgBox("Результат поиска: " & oRes.Fields("telephone_numder"))
MsgBox("Результат поиска: " & oRes.Fields("Pre_shared_key"))
Re: вопрос
Пожалуйста, можете мне подсказать, как получившееся значение переписать в переменную так чтобы туда попал только номер из таблицы значение ключа а не номер телефона вместе с значением ключа 0 или 1.
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
Вы хотите в переменную VB Script записать значение только поля ключа для данного номера?
Re: вопрос
Да мне нужно чтобы программа находила номер телефона и брала у него значение поля «значение ключа» а далее выполнялся оператор «If».
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
Код: Выделить всё
if oRes.Fields("Pre_shared_key") = "0" then
..
end if
Re: вопрос
Помогите мне, пожалуйста, у меня при поиске вылетает ошибка? Может я неправильно настроил базу данных «MS SQL Сервер»
Последний раз редактировалось DePlus 20 май 2012, 20:01, всего редактировалось 2 раза.
Re: вопрос
Извините, припутал изображение текст ошибки вод такой:
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
Сообщение довольно информативное и ясное - вам не нужны закладки (Bookmark). И вообще у вас там много лишнего.
Между "Conn.Open" и "oRes.Close: Set oRes = Nothing" используйте этот код:
Между "Conn.Open" и "oRes.Close: Set oRes = Nothing" используйте этот код:
Код: Выделить всё
'SQL запрос в базу данных
oRes.Open "Телефоны", Conn
oRes.MoveFirst
if oRes.Fields("Pre_shared_key") = "0" then
'здесь должен быть ваш код, который что-то делает в случае равенства ключа нулю
'..
end if
Re: вопрос
Sannx подскажите, пожалуйста, почему вылетает такая вот ошибка:
Недопустимое имя столбца “The_value_of_the_Key”
Код: 80040E14
Недопустимое имя столбца “The_value_of_the_Key”
Код: 80040E14
Последний раз редактировалось DePlus 20 май 2012, 20:00, всего редактировалось 2 раза.
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
Пишет, что в таблице Phones нет столбца "The_value_of_the_Key".
Re: вопрос
Получается, что я где-то ошибся, когда настраивал сервер “SQL”. Странно когда я меняю значение так (oRes.Open "phones", Conn) то подпрограмма проверки (WScript.Echo oRes.GetString) выводит нужные сведения.
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
Попробуйте переименовать столбы попроще: TelNum, KeyValue
и используйте такой запрос:
и используйте такой запрос:
Код: Выделить всё
select * from Phones where KeyValue = 1
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
И научитесь правильно вставлять картинки в свои сообщения: для этого достаточно тега img, тег url не нужен.
Re: вопрос
Подскажите, пожалуйста, как мне правильно найти группу номеров связанных полем «общий ключ» со значение поля допустим «001». Просто мне нужно чтобы оператор «If» поискал, значение поля группы номеров с общим индексом «001». И проверил, есть ли в данной группе номера со значением поля «значение ключа» равным “1” если есть то переписал бы все ячейки поля «значение ключа» с “0” на “1”.
- sannx
- Администратор
- Сообщения: 2306
- Зарегистрирован: 02 ноя 2011, 14:00
- Skype: sann-x
- Контактная информация:
Re: вопрос
Поле "Ключевое поле" и "Значение ключа" у вас как в реальности называются?
Re: вопрос
Структура таблиц будет вот такой:
telephone number--------Pre-shared key--------The value of the Key (0- пусто, 1-звонок был)
89098775609--------------------001-----------------------------0
78945612389--------------------001-----------------------------0
768585---------------------------001----------------------------1
456969---------------------------002----------------------------1
789595---------------------------002----------------------------0
353535---------------------------002----------------------------0
787878---------------------------003----------------------------1
797979---------------------------004----------------------------1
111111---------------------------005----------------------------1
737373---------------------------006----------------------------1
4955611212---------------------006------------------------------0
794545---------------------------006----------------------------0
734949---------------------------006----------------------------0
Поля называться будут так:
Общий ключ - Pre-shared key
Значение Ключа - The value of the Key
telephone number--------Pre-shared key--------The value of the Key (0- пусто, 1-звонок был)
89098775609--------------------001-----------------------------0
78945612389--------------------001-----------------------------0
768585---------------------------001----------------------------1
456969---------------------------002----------------------------1
789595---------------------------002----------------------------0
353535---------------------------002----------------------------0
787878---------------------------003----------------------------1
797979---------------------------004----------------------------1
111111---------------------------005----------------------------1
737373---------------------------006----------------------------1
4955611212---------------------006------------------------------0
794545---------------------------006----------------------------0
734949---------------------------006----------------------------0
Поля называться будут так:
Общий ключ - Pre-shared key
Значение Ключа - The value of the Key