簡體   English   中英

使用實體框架將字符串保存到數據庫時的語言問題

[英]Language issue while saving a string into database using entity framework

我有一個帶文本框和按鈕的aspx頁面。 當我單擊按鈕時,它將文本框的文本發送到函數並使用實體框架將其保存到數據庫。 問題是當我在文本框中使用我的本地字符,如ş,ğ,ı,ö,ü時,這些字符被保存為s,g,i,o,u。 問題是什么?

我的代碼(Product.aspx)

 <asp:TextBox ID="txtTitle" runat="server"></asp:TextBox> 
 <asp:Button ID="btnUpdate" runat="server" Text="Update" OnClick="btnUpdate_Click" />

(Product.aspx.cs)

 protected void btnUpdate_Click(object sender, EventArgs e)
    {
        Product p = new Product ()
        {
            Id = Int32.Parse(Session["ProductId"].ToString()),
            Title = txtTitle.Text
        };
        int productId = ProductManager.UpdateProduct (p);
        if (productId != -1)
        {
            // SUCCESS
        }
        else
        {
             // ERROR
        }
    }


  public static int UpdateProduct(Product product)
    {
        using (var context = new LidyaEntities())
        {
            Product pUpd = context.Product.FirstOrDefault(p => p.Id == product.Id);
            if (pUpd != null)
            {
                pUpd.Title = product.Title;
            }
            return context.SaveChanges();
        }
    }

數據庫表(SQL SERVER);

  (Id, int)
  (Title, text)

"N"來解決這個問題..

如果要在數據庫中插入類似"ҤїАͻ"的字符串

那么你的查詢必須是這樣的

查詢:

INSERT INTO TableName VALUES (N'ҤїАͻ')

我認為它會解決你的問題

首先檢查數據庫並確認值已正確存儲。 如果不是,則需要更改字符串列的字符類型集。 但在此之前,確認后面代碼中的文本值也是正確的。

暫無
暫無

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

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