вопрос

Ответы на вопросы "А может ли он сделать такое..?" или "Как сделать вот это..?"
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

В какой БД у вас эта таблица?
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

База данных называется "BD SQL".
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Я имею ввиду, как называется система, в которой находится ваша таблица Phones. MS SQL? MySQL? MS Access? Какая?
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Система называется «Microsoft SQL Server 2008» . Для связи я пользуюсь «ADO.NET».
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Зачем такие сложные названия полей, да еще разделенные пробелом? Сделайте покороче и без пробела.
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Я так собираюсь сделать, как только закончится переустановка MS SQL.
Пожалуйста, подскажите мне ответ, на вопрос, озвученный мной в коне на шестой страницы данной темы.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Нужно написать правильно SQL-запрос. Будет вот так:
select * from Phones where SharedKey=(select SharedKey from Phones where TelNum="123456789")
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Подскажите, почему при переносе строки SQL запроса при помощи оператора «&» перенесённая строка не читается.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Покажите код
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Код: Выделить всё

oCmd = "select * from Phones where SharedKey=(select SharedKey from Phones & _
 where TelNum="123456789"
Странно в «Conn.ConnectionString» переносить можно а тут не получается.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

не переносите либо укажите еще кавычки
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Я написал вот такой вот код уже в готовом виде, но я сомневаюсь, что запрос команды во второй программе у меня правильный. Поэтому прошу вас, помогите мне разобраться с командой «sql» запроса в базу данных «sql server».
Вод код первой программы:
[http://www.imageup.ru/img217/945242/1. ... .jpg[/img]

Вторая программа должна изменять номер телефона, считанный из переменной записанной первой скриптом. А потом в зависимости от условия или переписывать поле «KeyValue» у одного номера или у группы номеров связанных общим ключом с данным номером.
Вод код второй программы:
Изображение

Извините за такую вот ссылочку в тексте, но почему-то у меня не получается загрузить её нормально.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Вас надо учить основам SQL. Увы, я этим не занимаюсь. Изучите основы хотя бы 3-х основных команд: SELECT, INSERT, UPDATE.
Также посмотрите основы VB Script (хотя бы раздел 2).
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Дело в том, что основы языка SQL я знаю. Просто я был бы рад, если бы вы мне подсказали, сработают ли так как надо этих две части кода.
Мне нужно быть уверенным в том, что они изменят значения переменных, вне пределов моего скрипта записав при этом в них нужные значения.
В первой части кода меня интересуют вот эти две строчки:

Код: Выделить всё

oRes.MoveFirst
if oRes.Fields("TheKey") = "1" then
SpRobot.Vars("Var1") = "1"
ElseIf oRes.Fields("TheKey") = "0" then
SpRobot.Vars("Var1") = TempVar
Во второй части кода меня интересует правильно ли я, написал команду на изменения определённых полей и строк. Подскажите, пожалуйста, я правильно поставил условие или нет.

Код: Выделить всё

if oRes.Fields("TheKey") = "0" then
oCmd = "UPDATE Phones SET TheKey = TheKey 1 WHERE oRes.Fields("TheKey") = 0"             
ElseIf oRes.Fields("TheKey") = "1" then
oCmd = "UPDATE Phones SET TheKey = 1 WHERE SharedKey=(select SharedKey from Phones where TelNum="TempVar")
end if 
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Код: Выделить всё

oRes.MoveFirst
if oRes.Fields("TheKey") = "1" then
SpRobot.Vars("Var1") = "1"
ElseIf oRes.Fields("TheKey") = "0" then
SpRobot.Vars("Var1") = TempVar
Норм. Хотя не оптимально.

Код: Выделить всё

if oRes.Fields("TheKey") = "0" then
oCmd = "UPDATE Phones SET TheKey = TheKey 1 WHERE oRes.Fields("TheKey") = 0"             
ElseIf oRes.Fields("TheKey") = "1" then
oCmd = "UPDATE Phones SET TheKey = 1 WHERE SharedKey=(select SharedKey from Phones where TelNum="TempVar")
end if 
Здесь вы неправильно написали строку SQL-запроса: смешали команды и переменные VB с запросом - это недопустимо. И вообще oCmd лишняя, надо использовать oRes.Open.
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Спасибо за помощь теперь я буду знать, где надо внести поправки.
gnm
Сообщения: 9
Зарегистрирован: 03 апр 2012, 15:30

Re: вопрос

Сообщение gnm »

Скажите, привязывается ли активация программы SpRobot автообзвон к компьютеру или к устройству SpRecord?
Хотелось бы поэкспериментировать с программой на одном компьютере, а потом перенести на другой. Возможно ли
это или придется экспериментировать только с ограниченной версией.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Привязка идет только к серийному номеру устр-ва SpRecord.
gnm
Сообщения: 9
Зарегистрирован: 03 апр 2012, 15:30

Re: вопрос

Сообщение gnm »

При наборе номера иногда бывает нужно дождаться гудка (ну хотя бы просто подождать).
Есть ли такая возможность в автообзвоне? Если да, то как это сделать?

Если в настройке программы отметить все каналы, программа не запускается если хотя бы
к одному каналу не подключена линия. Мне кажется это не удобным. Логичнее было бы
производить обзвон по всем доступным в данный момент каналам.
А что будет, если отключить линию от одного канала в процессе работы? Обзвон встанет?
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Обзвон должен запускаться, даже если один из них "не работает". Также в процессе обзвона отключение одной линии не должно сказаться на всем процессе. Если у вас не так, значит надо разбираться.
При наборе номера иногда бывает нужно дождаться гудка (ну хотя бы просто подождать)
Можно поставить команду "Пауза" до или после команды "Набрать номер" в Конструкторе алгоритмов.
Ответить