如何通过访问数据库在visual studio c#中验证注销一次

Posted

技术标签:

【中文标题】如何通过访问数据库在visual studio c#中验证注销一次【英文标题】:how to validate log out only once in visual studio c# via access database 【发布时间】:2021-11-02 18:04:34 【问题描述】:

表格

数据库

我想让员工签入和签出表格,部分签入完美完成。 但是对于检查更新查询允许编辑预先输入的值进行更改,我不希望已经输入的值能够在之后更改,并且只输入 Out_time 以释放单元格。

下面是我的代码:

private void out_btn_Click(object sender, EventArgs e)

    try
    
        con.Open();
        OleDbCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "update Daily_emp_track set Out_Time='" + time1.Text + "' where Emp_ID=" + id_txt.Text + " ";
        cmd.ExecuteNonQuery();
        con.Close();
        MessageBox.Show("You are out");
    
    catch (Exception ex)
    
        MessageBox.Show("Entered ID not valid ");
        con.Close();
    

【问题讨论】:

【参考方案1】:

为防止输入的值被再次更改,系统获取Out_Time而不是手动输入,可以参考以下代码:

private void out_btn_Click(object sender, EventArgs e)
    
        var time = DateTime.Now;
        string time1;
        if (time.Hour > 12)
        
            time1 = time.Hour - 12 + ":" + time.Minute + " PM";
        
        else
        
            time1 = time.Hour + ":" + time.Minute + " AM";
        
        try
        
            string OutTime;
            con.Open();
            OleDbCommand cmd1 = con.CreateCommand();
            cmd1.CommandType = CommandType.Text;
            cmd1.CommandText = "SELECT Out_Time FROM Daily_emp_track WHERE Emp_ID='" + id_txt.Text + "'";
            OleDbDataReader reader = cmd1.ExecuteReader();
            while (reader.Read())
            
                OutTime = reader["Out_Time"].ToString();
                if (OutTime != "")
                
                    MessageBox.Show("Out Time has submitted");
                
                else
                
                    OleDbCommand cmd = con.CreateCommand();
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = "UPDATE Daily_emp_track SET Out_Time='" + time1 + "' WHERE Emp_ID='" + id_txt.Text + "'";
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("You are out");
                
            
        
        catch (Exception ex)
        
            MessageBox.Show("Entered ID not valid ");
        
        finally
        
            con.Close();
        
    

【讨论】:

以上是关于如何通过访问数据库在visual studio c#中验证注销一次的主要内容,如果未能解决你的问题,请参考以下文章

如何在Visual Studio中让应用程序访问数据库

visual studio 中 如何还原.bak数据文件

在 Visual Studio 2010 C# 中不允许访问数据库文件 (SQL Server Compact)

用visual studio做的网页如何在本地用其他电脑连接

Visual Studio 2013和Oracle 11g表达:如何连接?

我是用visual studio 2005 和SQL2005,做成的一个Windows窗体