如何在不从双引号更改为单引号的情况下将xml字符串更新到数据库中
本文关键字:xml 情况下 字符串 更新 数据库 单引号 | 更新日期: 2023-09-27 18:22:20
我需要更新数据库中的部分xml字符串,但我不想从双引号改为单引号,换句话说,我想保留xml字符串中的双引号。这个问题是基于我在这里找到的另一个问题
以下内容:
ExecuteNonQuery("Update Logs
SET Message = '" + encryptedMessage.Replace('"','''') + "'
WHERE ID = " + message.Id);
将用单引号替换双引号并将其保存到数据库中,但我不想永久更改引号。
我正在尝试这个:
string sqlUpdate = "Update Logs SET Message = @Message where Id = @Id";
SqlParameter id = new SqlParameter("@Id", message.Id);
SqlParameter msg = new SqlParameter("@Message", message.Msg);
Collection parameters = new Collection();
parameters.Add(id);
parameters.Add(msg);
Data.ExecuteNonQuery(sqlUpdate,parameters);
Data.ExecuteNonQuery
已经为我处理了连接。
我注意到传递给ExecuteNonQuery方法的sql是Update Logs SET Message = @Message where Id = @Id
我只是使用Collection,因为这个方法采用了VBCollection。
使用参数化查询,并将XML作为SqlParameter
:传入
string sqlUpdate = "Update Logs set Message = @MESSAGE where ID = @ID";
using (SqlCommand cmd = new SqlCommand(sqlUpdate, someConnection))
{
cmd.Parameters.Add(new SqlParameter("@MESSAGE", SqlDbType.Xml)).Value = encryptedMessage;
cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.Int)).Value = message.Id;
cmd.ExecuteNonQuery();
}