执行值中包含一些特殊字符的插入查询时出现异常



我有一列的字符变化数据类型。我们正在使用Npgsql -Version 4.0.4PostgreSQL version 11.3

String value = "Shaun Hollis_002\Top of Personal Folders02\� 35% Off 
Harlem Globetrotters - 3 Events in Denver!.msg";
        try
        {

            StringBuilder sb = new StringBuilder();
            sb.AppendLine("Insert INTo tbltemptest1 (c_value) values(@value);");
            using (NpgsqlConnection con = new NpgsqlConnection(DBConnectionString))
            {
                con.Open();
                using (NpgsqlCommand command = new NpgsqlCommand(sb.ToString(), con))
                {
                    command.Parameters.Add("@value", NpgsqlTypes.NpgsqlDbType.Varchar).Value = value;
                    command.ExecuteNonQuery();
                }
            }
        }
        catch (Exception ex)
        {
            throw;
        }

执行插入查询引发异常

编码"UTF8"的字节序列无效:0x00

错误几乎说明了它:PostgreSQL拒绝接受包含0x00(空字符(的字符串。在将输入发送到PostgreSQL之前,您需要清理输入。

最新更新