c# - c# winforms app更新ms access中的所有记录
问题描述
当我更新任何记录时,整个表都更新为相同的记录(行),我正在尝试以下代码。我也尝试过连接,但有人告诉我有关 sql 注入的信息。
con.Open();
try
{
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = @"UPDATE emptable
SET EmpName=@EmpName, Age=@Age ,Mobile=@Mobile,
Designation=@Designation ,Salary=@Salary ,
joiningDate=@joiningDate ,Address=@Address,
AccountNo=@AccountNo,
AccountHoldersName=@AccountHoldersName,
BankName=@BankName,IFSC=@IFSC,
EmpCode=@EmpCode,UINPANNO=@UINPANNO,
Whatsapp=@Whatsapp,FathersName=@FathersName,
MaritalStatus=@MaritalStatus,Email=@Email
WHERE Mobile= Mobile";
cmd.Parameters.AddWithValue("@EmpName", EmpNametxtbx.Text);
cmd.Parameters.AddWithValue("@Age", Agetxtbx.Text);
cmd.Parameters.AddWithValue("@Mobile", Mobiletxtbx.Text);
cmd.Parameters.AddWithValue("@Designation", Designationcmbbx.Text);
cmd.Parameters.AddWithValue("@Salary", Salarytxtbx.Text);
cmd.Parameters.AddWithValue("@JoiningDate", dTP1.Text);
cmd.Parameters.AddWithValue("@Address", Addresstxtbx.Text);
cmd.Parameters.AddWithValue("@AccountNo", Accounttxtbx.Text);
cmd.Parameters.AddWithValue("@AccountHoldersName", Holderstxtbx.Text);
cmd.Parameters.AddWithValue("@BankName", Banktxtbx.Text);
cmd.Parameters.AddWithValue("@IFSC", Ifsctxtbx.Text);
cmd.Parameters.AddWithValue("@EmpCode", EmpCodetxtbx.Text);
cmd.Parameters.AddWithValue("@UINPANNO", Uptxtbx.Text);
cmd.Parameters.AddWithValue("@Whatsapp", Whatsapptxtbx.Text);
cmd.Parameters.AddWithValue("@FathersName", Fatherstxtbx.Text);
cmd.Parameters.AddWithValue("@MaritalStatus", MStatuscmbbx.Text);
cmd.Parameters.AddWithValue("@Email", Emailtxtbx.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("record update");
//refresh or update table
OleDbCommand cmd1 = new OleDbCommand();
cmd1.Connection = con;
string query = "select * from emptable";
cmd1.CommandText = query;
OleDbDataAdapter da = new OleDbDataAdapter(cmd1);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show("error " + ex);
}
// Clear();
con.Close();
解决方案
WHERE Mobile= @Mobile
关于可以使用应用程序的Sql 注入| 三胎架构| 通过通过数据访问层连接并使用存储过程,然后加密您的业务层或控制器......但是 MS Access 不支持存储过程,您可以使用 MS SQL Server
推荐阅读
- azure-devops - 将集合迁移到新服务器时开发人员重新配置团队资源管理器的“最佳实践”文档?
- c++ - 有没有办法在 QDirIterator 中转义 nameFilters?
- html - 如何在 MVC 5 表单中将 Html.TextBoxFor 控件的宽度增加到超出其默认值
- python - 孩子们分享他们不应该分享的数据
- modelica - 重新声明数组组件的可替换参数的正确语法
- python - 不可散列的类型:“列表”
- python - 使用 Selenium python 选择下拉框选项。ng 选择组合框 XPath
- c - C 中的 volatile 是否安全/足够好,可以在没有共享数据时向另一个线程发出停止自身的信号?
- c++ - 带有 std enable_if 的嵌套名称说明符中使用的不完整类型
- reactjs - 在子路径中使用 _app ?下一个