Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > поулучить timestamp из таблицы в MS SQL


Автор: GhosTer 21.12.2011, 09:15
Доброго времени суток.
Есть таблица клиентов.
мне нужно хранить последний timestamp. Что бы подгружать в dataGrid те поля таблицы которые не были загружены.

что бы получить последний timestamp, я использую:
Код

            SqlCommand sqlcmd = new SqlCommand("SELECT top 1 timestamp FROM client WHERE timestamp NOT IN (SELECT top 0 client_ID FROM client ORDER BY timestamp DESC) ORDER BY timestamp DESC", con);
            using (SqlDataReader reader = sqlcmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0))
                    {
                        тут нужно сохранить полученный timestamp.
                    }
                }
                reader.Close();
            }


как мне сохранить его?
пробовал
Код

byte b;
b=reader.GetByte(0);


естественно назвало меня идиотом и выбило ошибку)))

Подскажите как хранить и затем сравнивать данные из timestamp...

Автор: GhosTer 22.12.2011, 11:54
Ошибки свои осознал)

Теперь тому кому интересно расскажу как:

Код

           byte[] massiv_byte= new mamassiv_byte[8];
           SqlCommand sqlcmd = new SqlCommand("SELECT top 1 timestamp FROM client WHERE timestamp NOT IN (SELECT top 0 client_ID FROM client ORDER BY timestamp DESC) ORDER BY timestamp DESC", con);
            using (SqlDataReader reader = sqlcmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0))
                    {
                        reader.GetBytes(0, 0, fdf2, 0, 8); //тут использовали массив как буфер)) ну и в итоге получили нужный нам результат
                    }
                }
                reader.Close();
            }


 reader.GetBytes возвращает значение типа long. он нам не нужен. Но использовав наш массив как буфер, reader.GetBytes заполнил наш массив)))

Автор: jonie 22.12.2011, 21:59
а написать:
Код

select cast(ts as BIGINT) as ts from blablabla
и читать используя (long)reader.Read()[0] не судьба ?
вообще колонку называть timestamp не стоит, или экранируйте квадратными скобками.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)