|
вопрос по GO. надо указать 44 поля при выборке из MySQL | ☑ | ||
---|---|---|---|---|
0
Renat11111
28.12.19
✎
20:04
|
package main
import ( "database/sql" "flag" "fmt" "log" _ "github.com/denisenkom/go-mssqldb" ) type MySqlStruct struct { _Description string } func main() { var ( userid = flag.String("U", "TestGo", "login_id") password = flag.String("P", "LLKJllkj1", "password") server = flag.String("S", "localhost", "server_name[\\instance_name]") database = flag.String("d", "upgradetest", "db_name") ) dsn := "server=" + *server + ";user id=" + *userid + ";password=" + *password + ";database=" + *database db, err := sql.Open("mssql", dsn) if err != nil { fmt.Println("Cannot connect: ", err.Error()) return } defer db.Close() err = db.Ping() if err != nil { fmt.Println("Cannot connect: ", err.Error()) return } rows, err := db.Query("select * from [_Reference512]") if err != nil { log.Fatal(err) } defer rows.Close() columnNames, err := rows.Columns() // []string{"id", "name"} if err != nil { // handle err log.Fatal(err) } for i, colName := range columnNames { fmt.Println(i) fmt.Println(colName) } MyStrSlice := make([]*MySqlStruct, 0) for rows.Next() { MyStr := new(MySqlStruct) err := rows.Scan(&MyStr._Description) if err != nil { log.Fatal(err) } MyStrSlice = append(MyStrSlice, MyStr) } } |
|||
1
Renat11111
28.12.19
✎
20:05
|
Вот rows.Scan(&MyStr._Description) мне надо указать 44 поля )))))))))))) А мне нужно что то типа
Выборка.Следующий() МояПеременная = Выборка._Description |
|||
2
Garykom
гуру
28.12.19
✎
20:24
|
||||
3
Garykom
гуру
28.12.19
✎
20:27
|
(2)+ Хотя я не так понял наверно.
Тебе не хочется перечислять переменные (44 штуки) куда засунуть данные из полей для текущей строки? |
|||
4
Renat11111
28.12.19
✎
20:29
|
(3) ага err := rows.Scan(&id, &name, &location) Было бы три поля как в примере Я бы сделал не лентяй )
|
|||
5
Garykom
гуру
28.12.19
✎
20:29
|
(4) https://issue.life/questions/42774467
err := rows.Scan(scanArgs...) |
|||
6
Garykom
гуру
28.12.19
✎
20:31
|
||||
7
Renat11111
28.12.19
✎
20:35
|
(6) columns, err := rows.Columns()
if err != nil { return err } count := len(columns) values := make([]interface{}, count) scanArgs := make([]interface{}, count) for i := range values { scanArgs[i] = &values[i] } Это похоже то Спасибо. |
|||
8
Garykom
гуру
28.12.19
✎
20:36
|
Пример из "Go Standard Library Cookbook" кста
https://github.com/PacktPublishing/Go-Standard-Library-Cookbook/blob/master/Chapter08/Working%20with%20Database/recipe08/querymap.go |
|||
9
Renat11111
28.12.19
✎
20:39
|
после 1с сложно немного изузчать Go Продвигаюсь медленно очень Чисто для удовольствия изучаю Кстати уже на вторую тему отвечаете Спасибо
|
|||
10
Garykom
гуру
28.12.19
✎
20:44
|
(9) После 1С что угодно изучать сложно, кстати обратное тоже верно, тру программисты если 1С видят у них ступор наступает обычно.
|
|||
11
sevod
28.12.19
✎
23:01
|
(10) это очень спорно. Я уверен что при отсутствии какого либо опыта и опыт 1С очень даже полезен.
Мне PHP и JS очень легко даются сейчас. Без 1С застрял бы где нибудь после функций. Я правда особо глубоко не копаю, развлекаюсь иногда. Когда изучал 1С, мозг взорвали конструкции с точками. Потому что про объекты не знал ничего. Только функции до 1С видел. Сейчас что нибудь навроде "->" или "=>" хоть и режут глаз, но легко понимаю. То же ООП сразу же понял. Ну по крайней мере на начальном уровне. |
|||
12
Asmody
29.12.19
✎
00:34
|
(11) js мозг не взрывает. Попробуй Haskell. Ну или хотя бы elm.
|
|||
13
Garykom
гуру
29.12.19
✎
00:36
|
(11) До магических констант и методов в php уже дошел? И как оно?
JS же начинает превращаться в зазеркальный шизофренический бред когда доходит до асинхронности и замыканий, причем а уй его знает как оно отработает когда вставлено в html странички в разных местах. |
|||
14
Garykom
гуру
29.12.19
✎
00:36
|
(12) В теме ошибка у ТС не MySQL а MS SQL
|
|||
15
Asmody
29.12.19
✎
00:48
|
(14) Да там в коде все в кучу намешано.
|
|||
16
Garykom
гуру
29.12.19
✎
00:59
|
(15) А это он код откуда то дернул и не переименовал MySqlStruct
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |