Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 01.03.2024
Сообщений: 5

Нужно что бы при нажатии кнопки время входа выводило текущее время входа сотрудника

01.03.2024, 22:16. Показов 709. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допусти в form 2 при введении id и нажатии кнопки поиск выводит имя сотрудника из form1 которая сохранена в бд ms sql(работает) нужно что бы при нажатии кнопки время входа выводило текущее время входа сотрудника, но у меня почему то не работает и выводит просто сотрудник не существует хотя в бд все есть.

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
private void btnIn_Click(object sender, EventArgs e)
{
    // Получение ID сотрудника из текстового поля
    int ID = Convert.ToInt32(textBox1.Text);
    DataTable employeesTable = new DataTable();
    employeesTable.Columns.Add("FIO", typeof(string));
    connection.Open();
    // Создание команды для выполнения запроса SELECT
    string query = "SELECT FIO FROM table_employee WHERE ID = @ID";
    SqlCommand command = new SqlCommand(query, connection);
    command.Parameters.AddWithValue("@ID", ID);
    // Выполнение запроса SELECT
    SqlDataReader reader = command.ExecuteReader();
    // Очистка таблицы перед заполнением новыми данными
    employeesTable.Rows.Clear();
    // Заполнение таблицы данными из результата запроса SELECT
    while (reader.Read())
    {
        string employeeName = reader.GetString(0);
        employeesTable.Rows.Add(employeeName);
    }
    reader.Close();
    // Привязка таблицы к dataGridView1
    dataGridView1.DataSource = employeesTable;
 
 
    connection.Close();
 
}
private void button1_Click(object sender, EventArgs e)
{
    // Получение выбранного сотрудника из DataGridView
    string employeeName = string.Empty;
    if (dataGridView1.CurrentRow != null && dataGridView1.CurrentRow.Cells[0].Value != null)
    {
        employeeName = dataGridView1.CurrentRow.Cells[0].Value.ToString();
    }
    connection.Open();
 
    // Проверка, существует ли сотрудник с заданным именем в таблице table_employee
    SqlCommand checkEmployeeCommand = new SqlCommand("SELECT COUNT(*) FROM table_employee WHERE FIO = @FIO", connection);
    checkEmployeeCommand.Parameters.AddWithValue("@FIO", employeeName);
    int employeeCount = (int)checkEmployeeCommand.ExecuteScalar();
    if (employeeCount > 0)
    {
        // Сотрудник существует, выполняем запрос INSERT
        string query = "INSERT INTO table_timeinout (FIO, TimeIn) VALUES (@FIO, @TimeIn)";
        SqlCommand command = new SqlCommand(query, connection);
        command.Parameters.AddWithValue("@FIO", employeeName);
        command.Parameters.AddWithValue("@TimeIn", DateTime.Now);
        command.ExecuteNonQuery();
    }
    else
    {
        MessageBox.Show("сотрудник не существует ");
    }
    connection.Close();
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.03.2024, 22:16
Ответы с готовыми решениями:

Можно ли вставить сравнение с графиком работ время первого входа и время начала дневных часов по графику?
Помогите новичку. В док отработанное время заполняет первый вход и последний выход по физлицу, как, можно-ли вставить сравнение с графиком...

Как сделать чтобы maskedTextBox выводило текущее время
Как сделать чтобы в поле maskedTextBox1 при запуске проги писалось текущее время в формате "11/10/2011"; то есть надо...

При нажатии кнопки через некоторое время происходило что-нибудь
Как сделать так чтобы при нажатии какой-либо кнопки через некоторое время происходило что-то (например писалось что-либо)

9
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,903
Записей в блоге: 1
01.03.2024, 23:19
st21160128, какой тип у колонки FIO в БД?
0
0 / 0 / 0
Регистрация: 01.03.2024
Сообщений: 5
02.03.2024, 09:26  [ТС]
OwenGlendower, Тип у FIO nvarchar(50)
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,903
Записей в блоге: 1
02.03.2024, 09:33
st21160128, попробуйте указать тип для параметра @FIO
C#
1
2
3
    checkEmployeeCommand.Parameters.Add(new SqlParameter("@FIO", SqlDbType.NVarChar) { Value = employeeName });
...
        command.Parameters.Add(new SqlParameter("@FIO", SqlDbType.NVarChar) { Value = employeeName });
Добавлено через 3 минуты
И еще не помешает добавить такую проверку чтобы быть уверенным что employeeName не пустая
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private void button1_Click(object sender, EventArgs e)
{
    // Получение выбранного сотрудника из DataGridView
    string employeeName = string.Empty;
    if (dataGridView1.CurrentRow != null && dataGridView1.CurrentRow.Cells[0].Value != null)
    {
        employeeName = dataGridView1.CurrentRow.Cells[0].Value.ToString();
    }
    if (string.IsNullOREmpty(employeeName))
    {
        MessageBox.Show("Выберите сотрудника");
        return;
    }
0
0 / 0 / 0
Регистрация: 01.03.2024
Сообщений: 5
02.03.2024, 11:02  [ТС]
Я попробовала но все равно выводит "выберите сотрудника" хотя изначально при нажатии поиск FIO сотрудника находится, а когда уже нажимаю кнопку "Время входа" выводит выберите сотрудника
0
0 / 0 / 0
Регистрация: 01.03.2024
Сообщений: 5
02.03.2024, 11:14  [ТС]
я вот добавила зип файл не знаю, если сможете посмотреть проверьте пожалуйста
Вложения
Тип файла: zip employees.zip (324.1 Кб, 4 просмотров)
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
02.03.2024, 13:19
st21160128, а Вас не смущает тот факт, что при вводе ID значение ФИО вставляется во второй столбец DGV, а в кнопке время условие ссылается на первый столбец?
C#
1
2
3
4
if (dataGridView1.CurrentRow != null && dataGridView1.CurrentRow.Cells[0].Value != null)
{
   employeeName = dataGridView1.CurrentRow.Cells[0].Value.ToString();
}
Миниатюры
Нужно что бы при нажатии кнопки время входа выводило текущее время входа сотрудника  
0
0 / 0 / 0
Регистрация: 01.03.2024
Сообщений: 5
02.03.2024, 16:16  [ТС]
Я просто не меняла никак названия dgv из за этого ошибка? Или в чем то еще?
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
02.03.2024, 16:24
st21160128, удалите dgv, который на этой форме, и вытяните заново без всяких настроек. у Вас зачем-то datasource в свойствах добавлен другой
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,903
Записей в блоге: 1
02.03.2024, 16:25
st21160128, индекс неверный. Замените 0 на 1: dataGridView1.CurrentRow.Cells[1].
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.03.2024, 16:25
Помогаю со студенческими работами здесь

Время входа пользователей
Здравствуйте! Есть WS 2008 x32, помогите создать запрос. Требуется сделать выгрузку в excel Подобного формата Пользователь: Время...

Время входа в игру
Добрый день! Помогите кто знает) Я хочу сделать чтобы при ежедневном входе получали бонус. Я пошла путем подсчета времени. Хотя...

Время входа/выхода в систему
Подскажите пожалуйста, где виндовс ХР сохраняет время последнего входа и выхода из системы (т.е. во сколько я включил или выключил...

Время входа пользователя в систему
Win10, учетка урезана в правах (нет доступа к WMI, некоторые из утилит недоступны согласно наложенным на них политикам), возможно ли...

Истекло время ожидания входа
Добрый день, при входе в конфигуратор система долго думает, потом выдает ошибку: Ошибка при выполнении операции с информационной...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru