Anonymous
они нигде заранее не сохранены
Алексей
трям.... понял... не самый веселый способ.... :( Благоадрю.
Алексей
если их нет он вернет ошибку sql.ErrNoRows
а где он такую ошибку возвращает?
Алексей
count делай в запросе
но тогда получиться два запроса
Алексей
мне по сути надо сделать следющее, если записи есть, то пробежаться по ним, если нету - выдать ошибку
Kirill
а где он такую ошибку возвращает?
ErrNoRows is returned by Scan when QueryRow doesn't return a row. In such a case, QueryRow returns a placeholder *Row value that defers this error until a Scan.
Алексей
sql.ErrNorRows решит вопрос
щас погуглю, благодарю
Kirill
Не надо гуглить, все есть в документации https://golang.org/pkg/database/sql/#Row.Scan
Anonymous
зачем тогда бежать по всем записям и их считать если достаточно знать, что их > 0? if rows.Next() { // записи есть } else { // записей нет } но и sql.ErrNoRows тоже выход
Anonymous
если записей нет, он просто вернет false
Aleksandr
если записей нет, он просто вернет false
а если не false, сдвинет курсор
Anonymous
ну если их надо обработать то flag := false for rows.Next() { flag := true // обработка } if !flag { // не было строк }
Aleksandr
ну если их надо обработать то flag := false for rows.Next() { flag := true // обработка } if !flag { // не было строк }
слушай, ну ErrNoRows удобнее и для этого. а извратиться можно по всякому
Anonymous
ну я ведь сказал что это тоже вариант )
Maxim
Нельзя решить вопрос без использования COM?
хотелось бы... в смысле COM это последнее, что я хотел бы использовать, но как еще подключиться к..... внимание.... 1C
Michael
бдыщь http://v8.1c.ru/o7/201312rest/index.htm
Maxim
бдыщь http://v8.1c.ru/o7/201312rest/index.htm
это все четко, но там у них есть еще 7-ая версия, и другой маленький нюанс - 1С трогать нельзя
Maxim
а данные с нее надо
Maxim
то есть запросы на 100 строк текста есть, и все работает
Maxim
но хочется это чтобы в json теперь уходило
Maxim
это не я придумал :) честно!
An
Народ кто юзает gogland джетбрайнс? подскажите почему оно подчеркивает структуры если они называются как пакет например my.My "Reports names starts with package name. "? а в стандартной библиотеке есть time.Time
Alexander
а на time.Time не ругается? 🙂
An
не ругается(но может оно его даже чекает) в настройках инспектора есть ссылка на https://github.com/golang/go/wiki/CodeReviewComments#package-names
An
может зарепортить им багу или что-то я понимаю - такая очевидная же
Alexander
Попробуй создать пакет и внутри него структуру такую же, как и имя
An
я ж написал выше что создал my.My
Alexander
сорь, склеилось в глазах, не увидел. Ну, тогда зарепорти
An
my.Mine
шо за бред?
Aleksandr
my.Mine
Лол
Sergius Ofitserov
Не бред - шутка
An
кароч обновил на последний билд(24 октября, а у меня был наверное какой-то летний) и все норм
Sergius Ofitserov
Голанд ставил недели три назад - не замечал подобных багов
Sergius Ofitserov
До этогл атом хипстерский использовал, имакс
Sergius Ofitserov
Оставлю здесь. Возможно кому-то пригодится.
Sergius Ofitserov
30 книг для освоения языка программирования Go #go #book https://proglib.io/p/30-golang-books/
An
что оставишь?
Sergius Ofitserov
30 книг
An
у меня веб-телеграм глючит(
Vladimir
что оставишь?
Душу он оставит здесь
Алексей
Уважаемые знатоки, что я делаю не так :) rows, asd := PostgresDB.Query(selectQuery) for rows.Next() { fmt.Println("In rows.Next ...") ... } fmt.Println(asd) fmt.Println(rows.Err()) log: <nil> <nil> Если в запросе есть хотя бы одна строка, то мы нормально проваливаемся и обрабатывае в rows.Next() Это все к ренее советамой мне sql.ErrNoRows... ошибки просто нет, но мы и не проваливаемся в Next()
Алексей
а зачем её проверять если она nil
Алексей
или я чего-то не догоняю
Aleksandr
nil она если нет ошибки)
Aleksandr
ты как ошибьки проверяешь в go?)
Алексей
ну так её и нет
Aleksandr
ну так её и нет
а ты ее проверил?
Алексей
типа того - if err == sql.ErrNoRows ?
Алексей
у меня до сюда не доходит так как выше стоит проверка на if err != nil
Aleksandr
у меня до сюда не доходит так как выше стоит проверка на if err != nil
ты код покажи. в выше продемонстрированном коде нет проверки
Aleksandr
тебе про это и говорю
Aleksandr
очевидно что за тобой надо проверить правильность синтаксиса
Алексей
так... может ясвоим питонячим мозгом чего-то не понимаю... я вывожу переменные в которые записываются ошибки, в них ничего нет nil - зачем мне их проверять на sql.ErrNoRows ?
Aleksandr
rows, _ := PostgresDB.Query(selectQuery)
Aleksandr
вот ты делаешь запрос и он тебе возвращает строки и ошибку. а ошибку ты и не проверяешь
Алексей
вот лог <nil> <nil>
Aleksandr
ты проверяешь теперь на отсутствие строк, но не проверяешь на другую ошибку
Алексей
на какую ?
Алексей
у тебя есть предположение что упало что-то другое?
Aleksandr
1. делаем запрос 2. проверяем специфическую ошибку 3. проверяем остальные 4. перебираем строки а) проверяем на ошибки при скане 5. проверяем на ошибку фетча строк
Aleksandr
rows, asd := PostgresDB.Query(selectQuery) if asd == sql.ErrNoRows { fmt.Println("Не найдено записей!") } else { fmt.Println(asd) } asd в твоем случае может быть не только nil или sql.ErrNoRows
Алексей
так, ок, такой вопрос, что значит nil в переменоой куда должна вернуться ошибка?
Zloy-Dobry
очевидно?)
https://play.golang.org/p/qiqNG2Bi12
Aleksandr
ее отсутствие
Алексей
он значит что ошибок не найдено?
Алексей
ну так ведь это значит что, на что бы я не проверил, ошибок нет
Алексей
конкретно сейчас
Алексей
но запрос вернул мне 0 строк
Алексей
меня в данном контексте не интересуют другие ошибки и проверка на них, меня интересует как узнать что нет срок
Aleksandr
https://play.golang.org/p/qiqNG2Bi12
t, err := time.Parse(time.RFC3339, s) if err != nil { log.Print(err) t, err = time.Parse("2006-01-02 15:04:05", s) } ну ты парсишь в другой формат. замени time.RFC3339 на свой формат json