Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
4 / 4 / 2
Регистрация: 05.07.2014
Сообщений: 57
Записей в блоге: 2

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

21.09.2017, 01:53. Показов 3121. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа для запоминания английских слов. Мне нужно после правильного ответа изменить в базе данных значение в поле таблицы. Как это сделать?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Data;
using System.Data.SqlClient;
 
namespace ConsoleWords
{
    class Program
    {
        static void Main()
        {
            string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Words; Integrated Security=True;";
 
            using (var connection = new SqlConnection(conStr))
            {
                for (int i = 0; i < 10; i++)
                {
                    var command = connection.CreateCommand();
                    command.CommandText = "SELECT top(1) WordId, WordRu, WordEn, Number FROM MyWords order by newid();";
                    connection.Open();
                    var reader = command.ExecuteReader(CommandBehavior.Default);
                    if (reader.HasRows && reader.Read())
                    {
                        var ru = reader.GetString(1);
                        var en = reader.GetString(2);
                        var rez = reader.GetByte(3);
                        Console.WriteLine(ru);
                        string otvet = Console.ReadLine();
                        if (otvet == en)
                        {
                            Console.Clear();
                            rez = +1;
                        }
                        else
                        {
                            Console.WriteLine(en);
                            Console.ReadKey();
                            Console.Clear();
                        }
                    }
                    connection.Close();
                }
            }
        }
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.09.2017, 01:53
Ответы с готовыми решениями:

Как можно изменить тип данных в таблице
Как можно изменить тип данных в таблице? После импорта таблицы тип данных &quot;текстовый&quot;, а нужен &quot;Дата&quot;. Среда откуда беру не...

Как при вводе в одну таблицу данных изменить значение в другой таблице в строке с тем же номером?
Есть БД в access, состоящая из 6 таблиц. Задача - при вводе в одну таблицу данных изменить значение в другой таблице в строке с тем же...

Entity. Запись данных в поле таблицы исходя из данных в другой таблице
Добрый день. Entity framework, code first. Для настройки таблицы использую EntityTypeConfiguration. Задача: есть таблица Role с полем...

12
16 / 16 / 5
Регистрация: 09.06.2015
Сообщений: 96
21.09.2017, 09:41
"UPDATE .... WHERE id=...;"
0
4 / 4 / 2
Регистрация: 05.07.2014
Сообщений: 57
Записей в блоге: 2
21.09.2017, 11:12  [ТС]
"UPDATE .... WHERE id=...;" Это я понимаю. Как через программу изменить запись в базе данных. Допустим я ответил правильно, увеличил счетчик правильных ответов на один. Мне нужно сохранить это число в базу данных. Как это сделать? Самостоятельно буду искать решение долго. Подскажите пожалуйста!
0
16 / 16 / 5
Регистрация: 09.06.2015
Сообщений: 96
21.09.2017, 11:17
сделайте таблицу, и в ней держите значения, настройки, и прочую единичную информацию
0
4 / 4 / 2
Регистрация: 05.07.2014
Сообщений: 57
Записей в блоге: 2
21.09.2017, 12:06  [ТС]
Это не единичная информация. Логика программы такая. Из базы данных получаем - случайное слово на английском языке, его перевод и количество правильных ответов этого слова. Выводим русское слово в консоль. Получаем у пользователя перевод этого слова. Заносим перевод в переменную и сравниваем ответ со значением полученным из базы данных. Если ответ правильный, то увеличиваем количество правильных ответов этого слова на один. Если не правильный ответ, то уменьшаем на один. И это значение сохраняем в базе данных. Покажите код как сохранить значение в базе данных. Смотрю сейчас видеокурс по ADO.NET, изменение данных идет в последнем уроке. А хочется сейчас. Там же нужно всего пару строк кода.

Добавлено через 4 минуты
Сначала по плану мне нужно посмотреть курс по SQL. Но охота программку доделать и начать изучать английский язык при помощи СВОЕЙ программы - это же клево.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
21.09.2017, 15:04
Цитата Сообщение от svr Посмотреть сообщение
помощи СВОЕЙ программы - это же клево.

Не по теме:


Ну да, клево, а то я все время в файлик записываю новые для себя слова.


Вам уже сказали как сделать, выполните команду "Update..Set..." через SqlCommand.ExecuteNonQuery.
0
4 / 4 / 2
Регистрация: 05.07.2014
Сообщений: 57
Записей в блоге: 2
21.09.2017, 17:15  [ТС]
Вы мне подсказали как вытащить случайную запись из базы данных. Спасибо. Ладно буду смотреть курс. Как черепаха я изучаю программирование. Уже много языков пытался учить, с помощью книг и видеокурсов. Нужен грамотный наставник, чтобы не перечитывать одно и тоже по сто раз. Администрации форума очень советую создать возможность платных ответов - думаю такая услуга будет очень востребована у новичков.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
21.09.2017, 17:51
Не надо смотреть видеокурсы, надо читать книги, поскольку в целом скорость освоения новой информации по книгам быстрее + увеличивается по мере понимания. А в видео, да, там удобно, покажут, разжуют, но все это происходит в черепаховом темпе.
Я уже вам рекомендовал, какую книгу стоит почитать про работу с БД в .NET (ADO.NET) - Andrew Troelsen (в соответствующих главах). В сети есть перевод на русском языке.
1
4 / 4 / 2
Регистрация: 05.07.2014
Сообщений: 57
Записей в блоге: 2
21.09.2017, 18:37  [ТС]
Тролсена я читал и Шилда тоже, давно и не полностью. Буду перечитывать снова. Бывает пытаешься, что-то сделать, а не получается. Знаний нет еще этих и терпения нет, чтобы знания эти получить, а хочется сейчас сделать. В такой момент нужно успокоиться, но не всегда это получается. Это как муки творчества - если получилось, то счастлив, если нет - раздражен. Пойду по медитирую.

Вот, что у меня получилось

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using System;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
 
namespace ConsoleEnRu
{
 
    class Program
    {
        //меняем раскладку клавиатуры
        [DllImport("user32.dll")]
        public static extern IntPtr GetForegroundWindow();
 
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
 
        [DllImport("user32.dll")]
        static extern int LoadKeyboardLayout(string pwszKLID, uint Flags);
        //end меняем раскладку клавиатуры
 
        static void Main(string[] args)
        {
            //меняем раскладку клавиатуры
            string lang = "00000409";
            int ret = LoadKeyboardLayout(lang, 1);
            PostMessage(GetForegroundWindow(), 0x50, 1, ret);
            //end меняем раскладку клавиатуры
 
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Title = "Запоминатель";
            int mist = 0;
 
            string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Words; Integrated Security=True;"; // создание строки подключения
            
            for (int i = 0; i < 10; i++)
            {
                SqlConnection connection = new SqlConnection(conStr); // создание подключения
 
                SqlCommand cmd = new SqlCommand("SELECT top(1) WordId, WordRu, WordEn, Number FROM MyWords order by newid();", connection); // запрос для получения случайной строки из таблицы
 
                connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    string ru = reader.GetString(1);
                    string en = reader.GetString(2);
                    byte rez = reader.GetByte(3);
                    Console.Write(ru + " = ");
                    string otvet = Console.ReadLine();
                    if (otvet == en)
                    {
                        Console.Clear();
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine(en);
                        Console.ReadKey();
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.DarkGreen;
                    }
                }
 
                reader.Close();
                connection.Close();
            }
 
            Console.ReadKey();
        }
    }
}
Я почти счастлив, осталось научиться сохранять результат в базе данных. И будет эйфория.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
21.09.2017, 19:03
Лучший ответ Сообщение было отмечено svr как решение

Решение

Цитата Сообщение от svr Посмотреть сообщение
и терпения нет

Не по теме:

Терпение - высшая добродетель. (С) :)
+ Дисциплина + стабильное психоэмоциональное состояние, чтобы поддерживать концентрацию. Старайтесь. По-другому никак.

1
4 / 4 / 2
Регистрация: 05.07.2014
Сообщений: 57
Записей в блоге: 2
22.09.2017, 02:17  [ТС]
Цитата Сообщение от IamRain Посмотреть сообщение
Терпение - высшая добродетель. (С)
+ Дисциплина + стабильное психоэмоциональное состояние, чтобы поддерживать концентрацию. Старайтесь. По-другому никак.
- отличные слова, полностью согласен!

Вот что у меня пока получилось:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using System;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
 
namespace ConsoleEnRu
{
 
    class Program
    {
        //меняем раскладку клавиатуры
        [DllImport("user32.dll")]
        public static extern IntPtr GetForegroundWindow();
 
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
 
        [DllImport("user32.dll")]
        static extern int LoadKeyboardLayout(string pwszKLID, uint Flags);
        //end меняем раскладку клавиатуры
 
        private static byte rez;
        private static int id;
 
 
        static void Main(string[] args)
        {
            //меняем раскладку клавиатуры
            string lang = "00000409";
            int ret = LoadKeyboardLayout(lang, 1);
            PostMessage(GetForegroundWindow(), 0x50, 1, ret);
            //end меняем раскладку клавиатуры
 
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Title = "Запоминатель";
            int mist = 0;
 
            string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Words; Integrated Security=True;"; // создание строки подключения
            
            for (int i = 0; i < 10; i++)
            {
                SqlConnection connection = new SqlConnection(conStr); // создание подключения
 
                SqlCommand cmd = new SqlCommand("SELECT top(1) WordId, WordRu, WordEn, Number FROM MyWords order by newid();", connection); // запрос для получения случайной строки из таблицы
 
                connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    string ru = reader.GetString(1);
                    string en = reader.GetString(2);
                    rez = reader.GetByte(3);
                    id = reader.GetInt16(0);
                    Console.Write(ru + " = ");
                    string otvet = Console.ReadLine();
                    if (otvet == en)
                    {
                        if (rez < 5)
                        {
                            rez = (byte)(rez + 1);
                        }
                        Console.Clear();
                    }
                    else
                    {
                        if (rez > 0)
                        {
                            rez = (byte)(rez - 1);
                        }
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine(en);
                        Console.ReadKey();
                        Console.Clear();
                        Console.ForegroundColor = ConsoleColor.DarkGreen;
                    }
                }
                reader.Close();
                SqlCommand cmd2 = new SqlCommand("UPDATE MyWords SET Number = "+ rez +" WHERE WordId = " +id, connection);
                cmd2.ExecuteNonQuery();
                connection.Close();
 
            }
 
            Console.ReadKey();
        }
    }
}
Все работает так, как мне надо.Только нет ощущения, что так и должно быть. Завтра с утра, на свежую голову посмотрю и решу нравится мне или нет.

Троелсена читать сегодня пытался, сложно по ado.net у него для меня. C#уже на очень хорошем уровне нужно знать, чтобы понять его. Мне сейчас практика нужна - много хорошей практики. И легко усваиваемая информация.

Добавлено через 22 минуты
Хотя за 2 дня результатом в целом доволен. Научился создавать базу данных(простую, но раньше и этого не умел), научился получать случайную строку из таблицы, и кое-как менять значение в таблице. Завтра нужно, заняться дисциплиной - четкий план составить, что делать дальше. Курсы от ITVDN буду смотреть по SQL, ADO.NET, С# Базовый и может Шилда начну читать.
0
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
22.09.2017, 09:59

Начните с точностью до наоборот. Курсы по ADO можно смотреть, но понять - как минимум нужно понимать рефлексию и сборщик мусора. т.е. я бы сначала советовал изучить проф курс их, до того, как подойдете до ADO. Иначе каша в голове гарантирована - не будете понимать что происходит, и дальше будет только хуже. Их курс по сиквелу - ужасен просто, если его ведет тот же тренер, что и АДО. Не советую - только еще больше каши в голову придет. С подходом "начну с БД работать, не поняв базовых понятий хотя бы делегатов/событий" - тяжело. ИМХО.
1
4 / 4 / 2
Регистрация: 05.07.2014
Сообщений: 57
Записей в блоге: 2
23.09.2017, 20:03  [ТС]
Да, решил пока Sql и Ado.net пока не изучать - рано мне еще. Фленова думаю почитать. Шилда и Троелсена потом почитаю - по второму разу не читаются они у меня пока - хоть я их и не прочитал полностью. С C# начал, потом перешел на php, но вебразработка меня не привлекает, учил Java как замену C# - книг по java мне кажется больше хороших, но учишь и кажется, что глупо учить не то что хочешь. Потом на python перешел - самый приятный язык, но зачем он нужен я так и не понял. C# лучший язык для создания оконных приложений под windows - к оконным приложениям у меня всегда душа лежала и лежит больше всего. Если можно было бы выбрать язык который будешь знать на отлично - я бы не думая выбрал C#. Но книг по нему мало - и это огромный минус для изучения. Понимаю, что одной хорошей книги достаточно, но бывает хочется почитать что-то еще.

Михаил Фленов Библия C#(2016) - стоит читать данную книгу?

Использовать базу данных в моей программе есть смысл или лучше сохранять массив в файл а при запуске программы с ним работать, потом опять сохранять в файл? Хочу еще добавлять новые слова из программы.

Думаю код в моей программе далек от идеала - подскажите, как улучшить код?

Почему при запуске программы подключение к базе данных занимает у меня пару секунд?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
 
namespace ConsoleEnRu
{
    class Settings
    {
        public string Title = "Запоминатель"; // Название программы
        public string SetText1 = " = "; // При ответе
        public void ForegroundColorDg() { Console.ForegroundColor = ConsoleColor.DarkGreen; } // Цвет текста используемый по умолчанию
        public void ForegroundColorR() { Console.ForegroundColor = ConsoleColor.Red; } // Цвет текста используемый при ошибки
        public int Col = 10; // Количество повторений по умолчанию
    }
 
    class Program
    {
        //меняем раскладку клавиатуры
        [DllImport("user32.dll")]
        public static extern IntPtr GetForegroundWindow();
 
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern bool PostMessage(IntPtr hWnd, int msg, int wParam, int lParam);
 
        [DllImport("user32.dll")]
        static extern int LoadKeyboardLayout(string pwszKlid, uint flags);
        //end меняем раскладку клавиатуры
 
        private static byte _rez;
        private static int _id;
 
 
        static void Main()
        {
            //меняем раскладку клавиатуры
            string lang = "00000409";
            int ret = LoadKeyboardLayout(lang, 1);
            PostMessage(GetForegroundWindow(), 0x50, 1, ret);
            //end меняем раскладку клавиатуры
 
            
 
            Settings settings = new Settings();
 
            Console.Title = settings.Title;
            settings.ForegroundColorDg();
 
            // Сколько повторений
            Console.Write("Количество повторений = ");
            int skolkoRaz; //создаем переменную для количества повторений
            //делаем проверку количества повторений
            try
            {
                skolkoRaz = Convert.ToInt32(Console.ReadLine()); //если введено число, то присваеваем его переменной
            }
            catch
            {
                skolkoRaz = settings.Col; //если не число, то присваеваем переменной значение по умолчанию
            }
            Console.Clear(); //очищаем консоль
            // End Сколько повторений
 
            //string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Words; Integrated Security=True; Pooling=True"; // создание строки подключения
            string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Words; Integrated Security=True; Pooling=True;"; // создание строки подключения
            SqlConnection connection = new SqlConnection(conStr); // создание подключения
            connection.Open();
 
 
            for (int i = 0; i < skolkoRaz; i++)
            {
                //SqlConnection connection = new SqlConnection(conStr); // создание подключения
 
                SqlCommand cmd = new SqlCommand("SELECT top(1) WordId, WordRu, WordEn, Number FROM MyWords order by newid();", connection); // запрос для получения случайной строки из таблицы
 
                //connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    string ru = reader.GetString(1);
                    string en = reader.GetString(2);
                    _rez = reader.GetByte(3);
                    _id = reader.GetInt16(0);
                    i++;
                    Console.Write(i + ". " + ru + settings.SetText1);
                    i--;
                    string otvet = Console.ReadLine();
                    if (otvet == en)
                    {
                        if (_rez < 5)
                        {
                            _rez = (byte)(_rez + 1);
                        }
                        Console.Clear();
                    }
                    else
                    {
                        if (_rez > 0)
                        {
                            _rez = (byte)(_rez - 1);
                        }
                        settings.ForegroundColorR();
                        Console.WriteLine(en);
                        Console.ReadKey();
                        Console.Clear();
                        settings.ForegroundColorDg();
                    }
                }
                reader.Close();
                SqlCommand cmd2 = new SqlCommand("UPDATE MyWords SET Number = "+ _rez +" WHERE WordId = " +_id, connection); // изменяем запись в таблице
                cmd2.ExecuteNonQuery();
                //connection.Close();
 
            }
            connection.Close();
            Console.ReadKey();
        }
    }
}
Добавлено через 15 секунд
Да, решил пока Sql и Ado.net пока не изучать - рано мне еще. Фленова думаю почитать. Шилда и Троелсена потом почитаю - по второму разу не читаются они у меня пока - хоть я их и не прочитал полностью. С C# начал, потом перешел на php, но вебразработка меня не привлекает, учил Java как замену C# - книг по java мне кажется больше хороших, но учишь и кажется, что глупо учить не то что хочешь. Потом на python перешел - самый приятный язык, но зачем он нужен я так и не понял. C# лучший язык для создания оконных приложений под windows - к оконным приложениям у меня всегда душа лежала и лежит больше всего. Если можно было бы выбрать язык который будешь знать на отлично - я бы не думая выбрал C#. Но книг по нему мало - и это огромный минус для изучения. Понимаю, что одной хорошей книги достаточно, но бывает хочется почитать что-то еще.

Михаил Фленов Библия C#(2016) - стоит читать данную книгу?

Использовать базу данных в моей программе есть смысл или лучше сохранять массив в файл а при запуске программы с ним работать, потом опять сохранять в файл? Хочу еще добавлять новые слова из программы.

Думаю код в моей программе далек от идеала - подскажите, как улучшить код?

Почему при запуске программы подключение к базе данных занимает у меня пару секунд?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
 
namespace ConsoleEnRu
{
    class Settings
    {
        public string Title = "Запоминатель"; // Название программы
        public string SetText1 = " = "; // При ответе
        public void ForegroundColorDg() { Console.ForegroundColor = ConsoleColor.DarkGreen; } // Цвет текста используемый по умолчанию
        public void ForegroundColorR() { Console.ForegroundColor = ConsoleColor.Red; } // Цвет текста используемый при ошибки
        public int Col = 10; // Количество повторений по умолчанию
    }
 
    class Program
    {
        //меняем раскладку клавиатуры
        [DllImport("user32.dll")]
        public static extern IntPtr GetForegroundWindow();
 
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern bool PostMessage(IntPtr hWnd, int msg, int wParam, int lParam);
 
        [DllImport("user32.dll")]
        static extern int LoadKeyboardLayout(string pwszKlid, uint flags);
        //end меняем раскладку клавиатуры
 
        private static byte _rez;
        private static int _id;
 
 
        static void Main()
        {
            //меняем раскладку клавиатуры
            string lang = "00000409";
            int ret = LoadKeyboardLayout(lang, 1);
            PostMessage(GetForegroundWindow(), 0x50, 1, ret);
            //end меняем раскладку клавиатуры
 
            
 
            Settings settings = new Settings();
 
            Console.Title = settings.Title;
            settings.ForegroundColorDg();
 
            // Сколько повторений
            Console.Write("Количество повторений = ");
            int skolkoRaz; //создаем переменную для количества повторений
            //делаем проверку количества повторений
            try
            {
                skolkoRaz = Convert.ToInt32(Console.ReadLine()); //если введено число, то присваеваем его переменной
            }
            catch
            {
                skolkoRaz = settings.Col; //если не число, то присваеваем переменной значение по умолчанию
            }
            Console.Clear(); //очищаем консоль
            // End Сколько повторений
 
            //string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Words; Integrated Security=True; Pooling=True"; // создание строки подключения
            string conStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=Words; Integrated Security=True; Pooling=True;"; // создание строки подключения
            SqlConnection connection = new SqlConnection(conStr); // создание подключения
            connection.Open();
 
 
            for (int i = 0; i < skolkoRaz; i++)
            {
                //SqlConnection connection = new SqlConnection(conStr); // создание подключения
 
                SqlCommand cmd = new SqlCommand("SELECT top(1) WordId, WordRu, WordEn, Number FROM MyWords order by newid();", connection); // запрос для получения случайной строки из таблицы
 
                //connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    string ru = reader.GetString(1);
                    string en = reader.GetString(2);
                    _rez = reader.GetByte(3);
                    _id = reader.GetInt16(0);
                    i++;
                    Console.Write(i + ". " + ru + settings.SetText1);
                    i--;
                    string otvet = Console.ReadLine();
                    if (otvet == en)
                    {
                        if (_rez < 5)
                        {
                            _rez = (byte)(_rez + 1);
                        }
                        Console.Clear();
                    }
                    else
                    {
                        if (_rez > 0)
                        {
                            _rez = (byte)(_rez - 1);
                        }
                        settings.ForegroundColorR();
                        Console.WriteLine(en);
                        Console.ReadKey();
                        Console.Clear();
                        settings.ForegroundColorDg();
                    }
                }
                reader.Close();
                SqlCommand cmd2 = new SqlCommand("UPDATE MyWords SET Number = "+ _rez +" WHERE WordId = " +_id, connection); // изменяем запись в таблице
                cmd2.ExecuteNonQuery();
                //connection.Close();
 
            }
            connection.Close();
            Console.ReadKey();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2017, 20:03
Помогаю со студенческими работами здесь

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

Как программно создать поле в таблице с Типом данных "Счетчик"?
Как программно создать поле в таблице с Типом данных 'Счетчик'?

Как сделать что если нет данных в таблице, чтобы шаблон этой самой таблице не выводился а писалось что данных в таблице нет
В общем проблема такая, есть админка где выводится список жалоб которые без ответа, когда они есть то всё нормально список выводится и с...

Изменить тип данных в таблице
Доброй ночи В базе имеется 5 колонок с типами данных: name - string type - int32 district - int32 locality - int32 star - int32...

Изменить структуру данных в таблице
Доброго времени суток! Необходимо изменить структуру данных таблице: (Имеется) (числа в той же ячейке, см. Пример) Карандаши Atlas...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru