C# 如何在Mysql数据库中存储ImagePath?
我试图在mysql数据库中存储一个图像路径,但它不存储反斜杠(/) 这是我的路径-C# 如何在Mysql数据库中存储ImagePath?,c#,mysql,C#,Mysql,我试图在mysql数据库中存储一个图像路径,但它不存储反斜杠(/) 这是我的路径-string str=@“C:\Users\user\Downloads\99最惊人的电脑桌面墙纸收藏-5522[ECLiPSE]” 这就是它在mysql-C:UsersuserDownloads99最令人惊奇的电脑桌面墙纸收藏中的出现方式-5522[ECLiPSE] 因此,我无法检索图像,因此如何存储包含反斜杠的imagepath Mysql代码 string sqlstring = "server=
string str=@“C:\Users\user\Downloads\99最惊人的电脑桌面墙纸收藏-5522[ECLiPSE]”
这就是它在mysql-C:UsersuserDownloads99最令人惊奇的电脑桌面墙纸收藏中的出现方式-5522[ECLiPSE]
因此,我无法检索图像,因此如何存储包含反斜杠的imagepath
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()
。或者至少在无用的读卡器上调用Dispose()
,或者使用使用
。(其他一次性物品也是如此。)
更改传递给
参数的类型和长度。根据列的类型添加()
。如何存储路径?你能告诉我们你的代码在哪里保存路径吗string@RahulSharma ok@RahulSharma我编辑了这个问题。停止尝试使用字符串连接和。这将解决您当前的问题,以及许多未来的问题。可能的重复,他可能不应该使用throw-ex
@lois,请阅读SQL教程。@DourHighArch,我想这是我的问题,我应该阅读更多关于SQL的内容,谢谢
...
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();
...