我在Lucky Draw系统的注册页面上工作。我创建了一个包含emp_id,emp_name,emp_deparment和attendance的数据库Employees。我已将列出勤率设置为默认值" Absent"。但是数据库显示为null。单击此链接可查看 employees database
因此,注册过程是用户需要使用USB条形码扫描器扫描条形码,然后系统将显示其名称并将出勤列中的默认值更新为“#34;存在"。”我坚持使用该部分。任何人都可以给我一些想法/解决方案。
出勤代码:
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Attendance : System.Web.UI.Page
{
SqlCommand cmd = new SqlCommand();
SqlConnection con = new SqlConnection();
string str;
protected void Page_Load(object sender, EventArgs e)
{
con.ConnectionString = @"Data Source= (LocalDB)\MSSQLLocalDB; AttachDbFilename =
C:\Users\Nor Asyraf Mohd No\source\repos\LuckyDraw\LuckyDraw\App_Data\ticket.mdf;
Integrated Security = True";
con.Open();
txtText.Focus();
}
protected void btnSave_Click(object sender, EventArgs e)
{
}
void idcheck()
{
string selectQuery = "SELECT count(*) FROM EMPLOYEES where EMP_ID = '" + txtText.Text + "'";
SqlCommand cmd = new SqlCommand(selectQuery, con);
SqlDataReader myReader = null;
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
myReader = cmd.ExecuteReader();
while (myReader.Read())
lblError.Text = myReader["EMP_NAME"].ToString();
lblError.ForeColor = System.Drawing.Color.Green;
}
else
{
lblError.Text = "Employee not available";
lblError.ForeColor = System.Drawing.Color.Red;
}
}
}
答案 0 :(得分:0)
如果我理解你的问题,你想在btnSave_Click函数中更新Attandence的值为'Present'。我认为你应该能够使用以下代码来做到这一点:
protected void btnSave_Click(object sender, EventArgs e)
{
using (SqlConnection connection = new SqlConnection(connectionString)) {
using (SqlCommand command = connection.CreateCommand()) {
command.Text = "UPDATE EMPLOYEES SET Attendance = 'Present' WHERE EMP_ID = @id";
command.Parameters.AddWithValue("@id", txtText.Text);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
}
}
}
使用command.Parameters.AddWithValue的好处是它有助于防止SqlInjections。
using语句确保在代码离开using块后处理连接。您可能也希望在其他函数中使用它们,如果不这样做,可能是上面的代码抛出异常,因为您有多个并发连接到同一个数据库。
答案 1 :(得分:0)