更新查询以从 Microsoft 访问数据库中读取

Posted

技术标签:

【中文标题】更新查询以从 Microsoft 访问数据库中读取【英文标题】:updating query to read from Microsoft access database 【发布时间】:2015-04-04 17:07:35 【问题描述】:

大家好,我在从 Microsoft access 2013 运行更新查询时遇到问题,我只想使用客户端 ID 和名称和电话更新客户端表,我无法获取要更新的数据,语法总是错误

string I = "UPDATE client SET client.ID =" + ID.Text + " ,client.Name =" + Name.Text + " ,client.Phone = " + Phone.Text + " WHERE client.ID="+ ID.Text +"";
            command.CommandText = I;
            command.CommandType = CommandType.Text;
            connection.Open();
            command.ExecuteNonQuery();

【问题讨论】:

【参考方案1】:

您需要使用参数化查询,如下所示:

string I = "UPDATE client SET client.Name = ?, client.Phone = ? WHERE client.ID = ?";
command.CommandText = I;
command.CommandType = CommandType.Text;
command.Parameters.AddWithValue("?", Name.Text);
command.Parameters.AddWithValue("?", Phone.Text);
command.Parameters.AddWithValue("?", ID.Text);
connection.Open();
command.ExecuteNonQuery();

请注意,“SET”client.ID 没有任何意义,因为它不会改变。

【讨论】:

以上是关于更新查询以从 Microsoft 访问数据库中读取的主要内容,如果未能解决你的问题,请参考以下文章

更新查询以从文件结构和数据库中删除

需要有关 unix 脚本的帮助以从特定位置读取数据并使用在查询中提取的数据

使用 Microsoft Excel VBA 仅查询访问 accdb 文件时,“MSysObjects”没有读取权限(错误编号:-2147217911) - mdb 工作正常

访问 `proc` 文件系统以从系统应用程序中读取 `/proc/[pid]/some-file`

访问宏以从 MS Outlook 读取电子邮件

从 Microsoft Access 数据库更新组合框中的项目