ASP.net: Используя Distinct, получаем дублирующиеся записи?

User avatar
Pingvin
Уже с Приветом
Posts: 660
Joined: 22 Jan 2001 10:01
Location: North Bay, CA

ASP.net: Используя Distinct, получаем дублирующиеся записи?

Post by Pingvin »

Буду рада, если кто-нибудь поможет с этим вопросом, полазив на Инете, ничего не нашла:
вот такой код выдает мне дважды перечисленные Cat1:

objConnection.Open()
strSQLQuery = "SELECT distinct Cat1 from Category;"
objAdapter = New OleDbDataAdapter(strSQLQuery, objConnection)
objAdapter.Fill(objDataSet, "Cat1")
Dim objTable As DataTable
Dim objNewRow As DataRow
DataGrid1.DataSource = objDataSet.Tables("Cat1")
DataGrid1.DataBind()

Причем, если убрать Distinct, то я естественно получаю все записи из исходной таблицы (около 100), а с Distinct - 20, причем каждая запись встречается ровно дважды.
Есть какие-нибудь идеи?
User avatar
I.T.
Уже с Приветом
Posts: 274
Joined: 13 Jan 2001 10:01
Location: RU, GA, FL, NH, NJ

Re: ASP.net: Используя Distinct, получаем дублирующиеся записи?

Post by I.T. »

Pingvin wrote:Причем, если убрать Distinct, то я естественно получаю все записи из исходной таблицы (около 100), а с Distinct - 20, причем каждая запись встречается ровно дважды.
Есть какие-нибудь идеи?

А это точно та же запись? Может они просто визуально похожи, ну там где-нибудь пробельчик затесался... :pain1:
Если нам не помогут, то мы тоже никого не пощадим. ;o)
User avatar
Dmitry67
Уже с Приветом
Posts: 28283
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Еще варианты: distinct для строк работает в соответствии с collation.
Если SQL server case-sensitive, то 'A' и 'a' разные записи, а если нет то нет.
Вообще в Query analyzer посмотрите
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
DmTs
Удалён за грубость
Posts: 5791
Joined: 15 Mar 1999 10:01
Location: с Родины

Post by DmTs »

Действительно лучше в аналайзере посмотртеть..
Ну или опубликуйте здесь свой Датагрид
"Имеешь одни часы - знаешь который час. Имеешь несколько - сомневаешься."
User avatar
Pingvin
Уже с Приветом
Posts: 660
Joined: 22 Jan 2001 10:01
Location: North Bay, CA

Post by Pingvin »

Всем участвовавшим - спасибо за участие! Как и предполагалось - ошибка была на стороне .net, а не базы - я не указала в коде AutoEventWireup=False, а по дефолту - AutoEventWireup=True, так что Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load запускалось дважды :).

Return to “Вопросы и новости IT”