c# - 如何修复带有密码的更新语句

标签 c# mysql ms-access-2007

所以我的问题是说我的更新声明中有我的问题,但我相信我的声明是正确的,如果我错了请纠正我

                            connection.Open();
                            OleDbCommand command = new OleDbCommand();
                            command.Connection = connection;
                            string query = "update Admin set Password='" + Npassword.Text + "' WHERE Pk='" + txt2.Text + "'";
                            command.CommandText = query;
                            command.ExecuteNonQuery();
                            MessageBox.Show("Password Changed");
                            connection.Close();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Error, fill the fields required" + ex);
                            connection.Close();
                        }

最佳答案

暂时忽略评论中的好建议,密码是Access SQL中的保留字,因此必须用括号括起来:

string query = "update Admin set [Password]='" + Npassword.Text + "' WHERE Pk='" + txt2.Text + "'";

此外,如果Pk是数字,则不带引号:

string query = "update Admin set [Password]='" + Npassword.Text + "' WHERE Pk=" + txt2.Text + "";

关于c# - 如何修复带有密码的更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54527733/

相关文章:

c# - 我们可以从 SSIS 包中调用 Restful WCF 服务吗

c# - float 后至少有一位数字的字符串

php - 从 MySQL 结果创建数组,并添加新项目

database - 如何在未安装 Access 的计算机中使用 MS-Access 数据库?

ms-access - 操作必须使用可更新的查询 - Access

C# - 实时显示多行文本框计数

c# - 使用通配符按 samaccountname 搜索

mysql - phpMyAdmin 显示数据库表的负总记录

php - 如何使用 MySQL 和 PHP 安全地删除向用户显示的行?

c#-4.0 - 在 gridview 中单击鼠标选择一行