簡體   English   中英

如何在Mysql數據庫中存儲ImagePath?

[英]How to store ImagePath in Mysql Database?

我正在嘗試在我的mysql數據庫中存儲一個圖像路徑,但是它不存儲反斜杠(/)。

這是我的路徑- string str = @"C:\\Users\\user\\Downloads\\99 Most Amazing Collection of Computer Desktop Wallpapers - 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()或使用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()的類型和長度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM