更新查询以从 Microsoft 访问数据库读取
updating query to read from Microsoft access database
大家好,我对 运行 来自 Microsoft Access 2013 的更新查询有疑问,我只想使用客户端 ID 和名称更新客户端 table,phone 我无法获取数据总是更新语法错误
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();
您需要使用参数化查询,如下所示:
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 Access 2013 的更新查询有疑问,我只想使用客户端 ID 和名称更新客户端 table,phone 我无法获取数据总是更新语法错误
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();
您需要使用参数化查询,如下所示:
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 没有意义,因为它不会改变。