c# - 如何将 ImagePath 存储在 Mysql 数据库中?
问题描述
我正在尝试将图像路径存储在我的 mysql 数据库中,但它不存储反斜杠(/)。
这是我的道路 -string str = @"C:\Users\user\Downloads\99 Most Amazing Collection of Computer Desktop Wallpapers - 5522 [ECLiPSE]"
这是它在 mysql 中的显示方式 - C:UsersuserDownloads99 最神奇的电脑桌面壁纸合集 - 5522 [ECLiPSE]
因此,我无法检索图像,那么如何存储包含反斜杠的图像路径。
mysql代码
string sqlstring = "server=; port= ; user id =;Password=;Database=;";
string str = @"C:\Users\user\Downloads\99 Most Amazing Collection of
Computer Desktop Wallpapers - 5522 [ECLiPSE]"
MySqlConnection conn = new MySqlConnection(sqlstring);
try
{
conn.Open();
}
catch (MySqlException ex)
{
throw ex;
}
string Query = "INSERT INTO test.blogimagestable (ImagesId)values('" + str + "');";
MySqlCommand cmd = new MySqlCommand(Query, conn);
cmd.ExecuteReader();
conn.Close();
解决方案
您应该使用参数化查询来防止此类问题自动发生。还有其他讨厌的事情,比如 SQL 注入。
你应该调用ExecuteNonQuery()
而不是ExecuteReader()
for 一个不返回结果的语句。或者至少注意调用Dispose()
无用的阅读器或使用using
. (其他一次性物品也是如此。)
...
string Query = "INSERT INTO test.blogimagestable (ImagesId)values(?str);";
MySqlCommand cmd = new MySqlCommand(Query, conn)
cmd.Parameters.Add("?str", MySqlDbType.VarString, 256).Value = str;
cmd.ExecuteNonQuery();
...
根据列的类型更改传递给的类型和长度Parameters.Add()
。
推荐阅读
- java - 从 Java 到 Kotlin 的反射和调用方法
- javascript - 如何使用 DOM 选择器取消选中复选框?
- jquery - 无法隐藏 jquery FLOT 网格上的垂直线
- jmeter - 压力测试 mqtt 代理(HiveMQ CE 代理)
- python - 具有多个条件的 xlsxwriter 条件格式公式
- hibernate - Hibernate 在我的实体关系上生成太多外部连接
- python - 如何只返回第 n 个数组?
- python - 为什么时间复杂度 O(n!) 不是 O(n * n!)
- c# - 弹出窗口没有被垃圾收集
- python - 如何在 Python 中使用字符串名称提取字节类枚举的值?