MySQL与c#的前导空格
本文关键字:空格 MySQL | 更新日期: 2023-09-27 18:09:28
当我更新MySQL数据库中的字段时,它总是向值添加空白。我尝试用trim-命令和replace-命令删除空白。他们两个都不工作。所以我希望它不是一个空白,但一些模糊的ASCII字符。以下是我使用的命令:
this.foo = result.GetValue(0).ToString().Trim();
this.bar = result.GetValue(0).ToString().Replace(" ","");
它更新的字段是一个VARCHAR(xx)。这是我的MySQL更新命令:
MySqlCommand cmd = new MySqlCommand("UPDATE " + table + " SET " + new_field + " =' " + new_value+ "' WHERE " + field+ "= " + value + "",this.con);
。
供参考:我在Visual Studio 2008中使用。net 3.5 5cf和mysql.data.cf DLL。
有人能帮我解决这个问题吗?是的,你在SQL中有一个前导空格:
"UPDATE " + table + " SET " + new_field + " =' " + new_value+ "'
注意"="后面的位-你有一个引号,然后是一个空格,然后是new_value
。
然而,你不应该把值直接放在SQL中——你应该使用参数化的SQL语句…目前你有一个SQL注入攻击等待发生,以及潜在的问题,诚实的值与引号。
你应该使用参数化的SQL为new_value
和value
在这里…我假设field
和table
来自更"可信"的来源?
这里似乎有一个空格,其中*是
" ='*" + new_value