C# 将屏幕截图[图像]保存并保存到数据库
我试图保存一个用户打开到数据库中的图像目录。但是符号“\”不在路径中。它就像C:UsersAshleyDesktopScreenshot_1.png一样,正如您所看到的,它没有C# 将屏幕截图[图像]保存并保存到数据库,c#,mysql,C#,Mysql,我试图保存一个用户打开到数据库中的图像目录。但是符号“\”不在路径中。它就像C:UsersAshleyDesktopScreenshot_1.png一样,正如您所看到的,它没有\,这使得它成为一个无效路径 private void button1_Click(object sender, EventArgs e) { OpenFileDialog open = new OpenFileDialog(); if (open.ShowDialog() == D
\
,这使得它成为一个无效路径
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = Image.FromFile(open.FileName);
pictureBox2.Image = Image.FromFile(open.FileName);
MySQL.ExecuteNonQuery(@"UPDATE users SET profile_image_dir = '" + open.FileName + "' WHERE username = '" + User.Details.Username + "'");
MessageBox.Show(""+ open.FileName + "\r\n");
}
在MySQL.ExecuteNonQuery上,我将它保存到数据库中,结果就像我之前所显示的那样,参数化查询应该可以工作
string cmdText = @"UPDATE users SET profile_image_dir = @file
WHERE username = @uname";
using(MySqlConnection cn = new MySqlConnection(.....))
using(MySqlCommand cmd = new MySqlCommand(cmdText, cn))
{
cn.Open();
cmd.Parameters.AddWithValue("@file", open.FileName);
cmd.Parameters.AddWithValue("@uname", User.Details.Username);
cmd.ExecuteNonQuery();
}
使用一个。这样做更安全,有助于避免其他潜在问题
也就是说,您还可以查看,您将看到它如何处理反斜杠,以查看它对文本字符串的处理。+1用于参数化查询。但我仍然认为您可以
打开.File.Replace(“\”,“\”)代码>就在MySQL.ExecuteOnQuery
之前,运行得非常好。谢谢