我想做一个从某些列中获取数据的函数

我已经创建了代码,但它没有完成。有人可以帮我完成代码吗?或者完整代码的样子。我使用的语言是 Go,数据库是 PostgreSQL


func (m *rg) GetAllRegional(filter map[string]interface{}) ([]*model.Regional, int64, error) {

    query := `SELECT

        title,

        language,

        isviewmain

        FROM Regional`


    stmt, err := m.DB.Prepare(query)

    if err != nil {

        log.Println(err)

        return nil, err

    }


    return nil, -1, nil

}


泛舟湖上清波郎朗
浏览 124回答 1
1回答

九州编程

这是指向先前答案的链接: (GoLANG) *sql.DB Scan rows into string array pointer编辑:这是一个与您的示例更相似的示例。这适用于 mariaDB 顺便说一句,请确保更改连接字符串并更改sql.Open为 postgreSQLtype rg struct {    DB *sql.DB}func init() {    // fill it with your info    db, err := connect("testDB" /* DB */, "testUser" /* DbUser */, "testPass" /* DbPw */)    if err != nil {        log.Fatal(err)    }    filter := map[string]interface{}{}    r, i, err := db.GetAllRegional(filter)    if err != nil {        log.Fatal(err)    }    log.Printf("r: %+v\ni: %+v\n", r, i)}// connect returns a rgfunc connect(dbName, username, password string) (rg, error) {    cs := username + ":" + password + "@tcp(" + "YourDbHost" + ":3306)/" + dbName    db, err := sql.Open("mysql", cs)    if err != nil {        log.Println(err.Error())        return rg{}, err    }    return rg{db}, nil}// GetAllRegional ...func (m *rg) GetAllRegional(filter map[string]interface{}) ([]string, int64, error) {    // checking if the connection is alive    err := m.DB.Ping()    if err != nil {        log.Fatal(err)        return nil, 0, err    }    q := `SELECT title, language, isviewmain FROM Regional`    rows, err := m.DB.Query(q)    if err != nil {        log.Fatal(err)        return nil, 0, err    }    defer rows.Close()    // Not sure what you're returning on the model    // returning a slice instead    var regional []string    for rows.Next() {        var temp string        err = rows.Scan(&temp)        if err != nil {            log.Println(err.Error())            if err == sql.ErrNoRows {                log.Println(sql.ErrNoRows.Error())            }            return nil, 0, err        }        regional = append(regional, temp)    }    return regional, 1, nil}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go