2015-11-26 4 views
0

В моем приложении Winforms у меня есть опция find. Когда пользователь вводит идентификатор моей таблицы (примечание: мой id является основным ключом), я покажу детали определенного идентификатора, который был введен. Я сохраняю эту конкретную запись в datareader, и я отображу эти конкретные данные в поля текстовых полей.Получить выбранную позицию индекса id из SqlDataReader

Как это:

if (reader.Read()) 
{ 
    btnNext.Enabled = true; 
    btnPrevious.Enabled = true; 
    txtname.Text = reader["name"].ToString(); 
    ..... 
} 

Наряду с этим, у меня есть следующие и предыдущие кнопки. Таким образом, он находит данные в соответствии с этим идентификатором, после чего он хочет увидеть следующую запись из идентификатора find.

Я запишу идентификатор позиции индекса, чтобы я мог легко отобразить следующую запись, а также предыдущую. Как получить идентификационную позицию? Может ли кто-нибудь помочь?

Я показал следующую запись на моей следующей кнопке, как показано ниже:

if (dt.Rows.Count > 0) 
    { 
    if (count < dt.Rows.Count - 1) 
    { 
    count += 1; 
    ShowData(); 
    } 
    else 
    { 
    MessageBox.Show("Last record of the table."); 
    } 
    } 
+0

Является ID uuid или просто инкрементальный int int? –

+0

@WouterHuysentruit ID Is uuid. Это уникальный идентификатор. Не автоинкремент – Nag

+0

К предыдущему/следующему, вы имеете в виду право на вставку? –

ответ

0

Я думаю, что вы можете использовать ROW_NUMBER в Sql Постулатах, чтобы получить текущую позицию ID

select ROWNUM from (
      SELECT ID,ROW_NUMBER() over({Your Default Order}) as ROWNUM 
        FROM {Your Table Name} WHERE {CONDITION}) x 
         WHERE x.ID= {Your ID} 

Eaxmple select ROWNUM from (SELECT ID,ROW_NUMBER() over(ORDER BY ID) as ROWNUM FROM COLORS WHERE NAME like '%%') x WHERE x.ID= 5

+0

Каждый раз, когда это условие дает ROWNUM только как 1. Если я также изменил номер ID. – Nag

+0

Пожалуйста, введите тот же код и обратите внимание, что я удаляю ')' из конца sataement –

+0

Да, я набрал тот же код, а также удалил конечную скобку – Nag

Смежные вопросы