簡體   English   中英

我的SQL + C#古怪問題

[英]My SQL + C# Weird Issue

每次其他刷新時,頁面上都會出現非常奇怪的錯誤,但並非每次都顯示。

我有一個簡單的頁面,將數據打印如下:

后端(aspx.cs)

string sql="Select * from content_mgr_multiple where category = '1' limit 0, 1";    
DataView dv = DBAccess.GetListView(sql);
this.ResultList.DataSource = dv;
this.ResultList.DataBind();

前端(aspx)

<asp:Repeater ID="ResultList" runat="server">
<ItemTemplate>
     <%#  Eval("content") %>
</ItemTemplate>
</asp:Repeater>

該代碼的工作原理如上所述,但每次其他刷新都會顯示以下錯誤。 DataBinding:'System.Data.DataRowView'不包含名稱為'content'的屬性。

假設我將頁面刷新了6次。 第二,第四和第六次很好,但是第一,第三和第五次顯示上述錯誤。

我嘗試按照以下方法進行故障排除。 我將代碼打印出該數據源中的列名。

string sql="Select * from content_mgr_multiple where category = '1' limit 0, 1";    
DataView dv = DBAccess.GetListView(sql);
        foreach (DataColumn dr in dv.Table.Columns)
        {
            Response.Write(dr.ColumnName + "<BR>");
        }
this.ResultList.DataSource = dv;
this.ResultList.DataBind();

在第二,第四和第六次刷新時,列名以英文打印。

id
category
title
titleCh
content
contentCh

在第一次,第三次和第五次刷新時,列名稱以中文打印。

楤
撿瑥杯特
瑩瑬�
瑩瑬敃�
捯湴敮�
捯湴敮瑃�

我已經為此戰斗了一段時間,請幫忙。 謝謝。

非常感謝你們的關心。 終於,我找到了造成它的原因。 正如eggyal所指出的,這使我意識到數據庫出了點問題。

我的content_mgr類別表也包含中文標題。 在該類別表中,中文字段被創建為“ ucs2_general_ci”。 我將其更改為“ utf8_general_ci”后,問題就解決了。

暫無
暫無

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

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