Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
MAKC13
1 / 1 / 0
Регистрация: 05.12.2013
Сообщений: 210
1

Проверка на существующую запись работает не точно

05.08.2016, 20:09. Просмотров 864. Ответов 4
Метки нет (Все метки)

Всем привет, возникла проблема при проверки на существующую запись, а точнее неправильно происходит проверка. Например, в базе данных записано число 321, а мы его будем проверять с числом 331, то напишет что число совпало. Заметил такую закономерность, что ошибка происходит только на одну цифру, если же отличаются 2 числа, то уже ошибки не будет. Помогите пожалуйста исправить ошибку.Буду очень благодарен за вашу помощь!
C#
1
2
3
4
5
6
7
8
9
10
OleDbCommand cmd = new OleDbCommand();
                cmd.Connection = connect;
                cmd.CommandText = "SELECT [Pok_DO] FROM MMM where Pok_DO LIKE ?";
                cmd.Parameters.AddWithValue("@Pok_DO", int.Parse(textBox2.Text));
                int count = 0;
                var obj1 = cmd.ExecuteScalar();
                if (obj1 != null)
                {
                    count = (int)obj1;
                }
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2016, 20:09
Ответы с готовыми решениями:

Проверка на существующую запись
Всем привет) Нужна ваша помощь, мне необходимо написать программу, которая при записи данных делала...

Проверка На Существующую Запись В Базе
Здравствуйте, подскажите пожалуйста! Есть форма c полями Фамилия(fLastName), Имя, Отчество,...

Проверка на существующую запись DBGrid
Привет. Подскажите как сделать проверку, на колонку login, если такой пользователь там есть то не...

(ADO,SQL) Проверка на не существующую запись в дочерней таблице
Приветствую всех, народ. У меня возникла не решающая ситуация. Суть такая. У меня есть 2 таблицы...

php+mysql проверка одинаковых имен\или существующую запись
Доброе время суток! Ребят, помогите пожалуйста. Есть код, но как сделать проверку на существующую...

4
КВА696
93 / 44 / 13
Регистрация: 20.04.2014
Сообщений: 687
Завершенные тесты: 2
06.08.2016, 10:45 2
MAKC13, Немного не пойму Вы хотите получить число совпадающих строк?

Цитата Сообщение от MAKC13 Посмотреть сообщение
where Pok_DO LIKE ?";
Или вы конкретно хотите вывести извесное 1 число - тогда не пойму почему вы сразу его не прировняете Pok_DO = и переменную ту что ищете

Добавлено через 2 минуты
MAKC13, Если надо найти количество строк которых совподает то я делаю так

SQL
1
SELECT COUNT(*) FROM MMM WHERE Pok_DO=тому что мне надо
...
C#
1
int.Parse(cmd.ExecuteScalar().ToString());
0
MAKC13
1 / 1 / 0
Регистрация: 05.12.2013
Сообщений: 210
06.08.2016, 14:14  [ТС] 3
КВА696, Я может что-то делаю не так, но по смыслу должно получится следующее: я записываю в базу номера пользователей(Nom) и их значения(Pok_DO), после мне нужно сделать проверку этих значений, и для этого я вновь записываю номера и значения, и вот если значение не совпало с первоначальным, то мне необходимо написать значение не верно. И поэтому у меня Pok_DO всегда разное. В итоге я понял похоже свою ошибку, я неправильно записываю sql запрос. У меня сейчас поиск идет по значениям уже известным, а мне необходимо сделать поиск чтобы сначала из texbox1 брал номер (Nom) находил его в базе и потом сравнивал первичное значение с новым (Pok_DO берется из texbox2).
Помогите пожалуйста записать такой sql запрос.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 OleDbCommand cmd = new OleDbCommand();
                    cmd.Connection = connect;
                    cmd.CommandText = "SELECT [Pok_DO] FROM MMM where Pok_DO LIKE ?";// Не правильный запрос
                    cmd.Parameters.AddWithValue("@Pok_DO", int.Parse(textBox2.Text));
                    //cmd.Parameters.Add(new OleDbParameter()).Value = textBox2.Text;
                    int count = 0;
                    var obj1 = cmd.ExecuteScalar();
                    if (obj1 != null)
                    {
                        count = (int)obj1;
                    }
                    if (count == 0)
                   {
                   MessageBox.Show("Данная запись уже существует и не совпадает ");
                   }
                   else
                   {   
                   MessageBox.Show("Данная запись уже существует и совпадает ");
                   }
0
Кжесимир
1 / 1 / 2
Регистрация: 24.05.2016
Сообщений: 31
Завершенные тесты: 1
06.08.2016, 17:07 4
Лучший ответ Сообщение было отмечено MAKC13 как решение

Решение

Если я всё правильно понял то это должно сработать
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 SqlCommand com = new SqlCommand("Select [Pok_DO] from MMM where [Nom] like '" + textBox1.Text + "%'", con);                
              
                con.Open();
                SqlDataReader reader = com.ExecuteReader();
                while (reader.Read())
                {
 
                    if (textBox2.Text == reader[0].ToString())
                    {
                        MessageBox.Show("Данная запись совпадает ");
                    }
                    else
                    {
                        MessageBox.Show("Данная запись не совпадает ");
                    }
                }
0
MAKC13
1 / 1 / 0
Регистрация: 05.12.2013
Сообщений: 210
06.08.2016, 19:52  [ТС] 5
Кжесимир, спасибо, помогло)

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
06.08.2016, 19:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2016, 19:52

Как добавить запись в существующую строку?
$mysqli->query("INSERT INTO `html` (data) VALUES ('$its') ");

Как в Visual Basic 6 добавить запись в существующую таблицу MS Access ?
Здравствуйте ! Мне необходимо решить следующую задачу: допустим существует таблица MS Access 2003 c...

Selenium отключил запись(не точно)
Всем привет, вообщем понадобился мне selenium скачал распаковал в Anacond'у в 'Path' путь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru