Перейти к содержимому

Фотография

Проверка данных введённых с формы с SQL


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 metkiy2005

metkiy2005

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Merk

Отправлено 03 июля 2012 - 12:08

Доброе время суток. Помогите пожалуйста начинающему в работе с TestComplete 7.5, пишу на яве. Вобщем у меня такая ситуация:
Есть программа в которой много окон с которых вводятся данные в базу данных на MS SQL 2005. Всё происходит так пользователь вводит данные и нажимает кнопку OK после чего данные вносятся в базу. Как автоматически отслеживать записались ли данные в нужную таблицу в базе данных или нет? Такоеже надо делать с изменением данных и удалением и много раз подряд!
  • 0

#2 Vader

Vader

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 03 июля 2012 - 12:45

Как автоматически отслеживать записались ли данные в нужную таблицу в базе данных или нет?

Подключаетесь к базе и проверяете. Здесь есть пример.
  • 0

#3 metkiy2005

metkiy2005

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Merk

Отправлено 03 июля 2012 - 12:53


Как автоматически отслеживать записались ли данные в нужную таблицу в базе данных или нет?

Подключаетесь к базе и проверяете. Здесь есть пример.


Тоесть всё это делать через подключение к БД и обычные запросы? А через чекпоинт никак нельзя? Или это каждый раз надо делать чекпоинт и с ним сравнивать?
  • 0

#4 Vader

Vader

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 03 июля 2012 - 13:52

Тоесть всё это делать через подключение к БД и обычные запросы? А через чекпоинт никак нельзя? Или это каждый раз надо делать чекпоинт и с ним сравнивать?

Попробуйте через чек поинт. Никто ж не запрещает :) В справке все есть. И чек поинт, кстати, точно так же будет подключаться к БД и делать "обычные запросы".
  • 0

#5 metkiy2005

metkiy2005

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Merk

Отправлено 03 июля 2012 - 14:58

А подскажите как подправить функцию чтоб она если select ничё не нашол выводило ошибку а если нашол значит просто сообщение, точно знаю что IF неправильно написан но незнаю как правильно:
function bdt()
{
var mydb = Sys.OleObject("ADODB.Connection");
// подключение к базе данных
mydb.ConnectionString = "Provider=SQLOLEDB;Data Source=10.1.1.15; User id = sa; Password = sa";
mydb.Open();
var rs = mydb.Execute("SELECT * FROM [VR].[dbo].[COUNTRIES] where country_code = 5582 ");

if (rs.Fields("country_code").Value!=null)
{log.message("OK");}
else {Log.Error("Error! No country");}


// закрываем подключения
rs.Close();
mydb.Close();

}
  • 0

#6 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 03 июля 2012 - 15:46

А подскажите как подправить функцию чтоб она если select ничё не нашол выводило ошибку а если нашол значит просто сообщение, точно знаю что IF неправильно написан но незнаю как правильно:

Попробуйте так:
if (rs.RecordCount <> 0) {
  Log.Message("OK")
}
else {
  Log.Error("Empty recordset.")
}
Про RecordCount см. здесь.
  • 0

#7 metkiy2005

metkiy2005

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Merk

Отправлено 05 июля 2012 - 07:41

Может быть у когото есть примеры на javascript, как можно проверить есть запись в базе или нет, а то уже несколько дней страдаю и ничё не могу написать рабочее. Поделитесь опытом пожалуйста.
  • 0

#8 Vader

Vader

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 05 июля 2012 - 08:18

function bdt()
 {
 var mydb = Sys.OleObject("ADODB.Connection");
 // подключение к базе данных
 mydb.ConnectionString = "Provider=SQLOLEDB;Data Source=10.1.1.15; User id = sa; Password = sa"; 
 mydb.Open();
 var rs = mydb.Execute("SELECT COUNT(*) FROM [VR].[dbo].[COUNTRIES] WHERE country_code = 5582 ");

 rs.MoveFirst();
 if (rs.Fields(0) != 0){
	Log.Message("OK");
 }
 else{
	Log.Message("Error! No country!");
 }

 // закрываем подключения
 rs.Close();
 mydb.Close();

 }
Так сойдет?
  • 0

#9 metkiy2005

metkiy2005

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Merk

Отправлено 05 июля 2012 - 08:55

function bdt()
 {
 var mydb = Sys.OleObject("ADODB.Connection");
 // подключение к базе данных
 mydb.ConnectionString = "Provider=SQLOLEDB;Data Source=10.1.1.15; User id = sa; Password = sa"; 
 mydb.Open();
 var rs = mydb.Execute("SELECT COUNT(*) FROM [VR].[dbo].[COUNTRIES] WHERE country_code = 5582 ");

 rs.MoveFirst();
 if (rs.Fields(0) != 0){
	Log.Message("OK");
 }
 else{
	Log.Message("Error! No country!");
 }

 // закрываем подключения
 rs.Close();
 mydb.Close();

 }
Так сойдет?


Немного не получилось. Я придумал чуть подругому, работает дольше зато полностью мне подходит:

function checkRDBnCountry(a)
{
var mydb = Sys.OleObject("ADODB.Connection");
// var a=13;
var b=0;
Delay(700)
//подключаемся к базе данных
mydb.ConnectionString = "Provider=SQLOLEDB;Data Source=10.1.1.15; User id = sa; Password = sa";
mydb.Open();
var rs = mydb.Execute("SELECT * FROM [VR].[dbo].[COUNTRIES]");
rs.MoveFirst();
while(!rs.EOF)
{
if (rs.Fields("country_code").Value==a)
{b=1;}
rs.MoveNext();
}
if (b==1)
{
Log.Message("Ok! Write the values in the database was normal");
}
else
{
Log.Error("Values don't write into database");
}
// закрываем подключения
rs.Close();
mydb.Close();
}
Спасибо за помощь.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных