我创建了一个搜索表单来根据称为许可证 ID 的搜索值来查找记录。我能够提取该值的所有字段。我的问题是我正在尝试更新该记录的任何字段,例如,如果我想更新所有这些字段值都在文本框中的地址字段或邮政编码字段。我在“Lname”处或附近遇到语法错误。 Lname 是姓氏的数据库字段名称。这个项目只是一个熟悉Postgres的测试项目。这是我的源代码。我不确定问题是什么,字段名称指定正确。
private void UpdateRecord()
{
try
{
NpgsqlConnection conn = Connection.getConnection();
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand("update info set \"Fname\" = :FirstName, set \"Lname\" = :LastName, set \"Address\" = :Address," +
"set \"City\" = :City, set \"State\" = State, set \"Zip\" = :Zip," +
"set \"PhoneNumber\" = :PhoneNumber where \"LicenceNumber\" = '" + LicenseID + "' ;", conn);
cmd.Parameters.Add(new NpgsqlParameter("FirstName", NpgsqlTypes.NpgsqlDbType.Text));
cmd.Parameters.Add(new NpgsqlParameter("LastName", NpgsqlTypes.NpgsqlDbType.Text));
cmd.Parameters.Add(new NpgsqlParameter("Address", NpgsqlTypes.NpgsqlDbType.Text));
cmd.Parameters.Add(new NpgsqlParameter("City", NpgsqlTypes.NpgsqlDbType.Text));
cmd.Parameters.Add(new NpgsqlParameter("State", NpgsqlTypes.NpgsqlDbType.Text));
cmd.Parameters.Add(new NpgsqlParameter("Zip", NpgsqlTypes.NpgsqlDbType.Text));
cmd.Parameters.Add(new NpgsqlParameter("PhoneNumber", NpgsqlTypes.NpgsqlDbType.Text));
cmd.Parameters[0].Value = txtFirstName.Text;
cmd.Parameters[1].Value = txtLastName.Text;
cmd.Parameters[2].Value = txtAddress.Text;
cmd.Parameters[3].Value = txtCity.Text;
cmd.Parameters[4].Value = cboState.Text;
cmd.Parameters[5].Value = txtZip.Text;
cmd.Parameters[6].Value = mtxtPhoneNumber.Text;
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
每个命令只需“设置”一次。
NpgsqlCommand cmd = new NpgsqlCommand("update info set \"Fname\" = :FirstName, \"Lname\" = :LastName, \"Address\" = :Address," +
"\"City\" = :City, \"State\" = State, \"Zip\" = :Zip," +
"\"PhoneNumber\" = :PhoneNumber where \"LicenceNumber\" = '" + LicenseID + "' ;", conn);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)