简体   繁体   English

我想制作一个 function 从某些列获取数据

[英]I want to make a function that get data from some columns

i've created the code, but its not completed.Could anyone help me to complete the code?我已经创建了代码,但还没有完成。有人可以帮我完成代码吗? or how the complete code looks like.Language im using is Go and the database is PostgreSQL或者完整代码的样子。我使用的语言是 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
}

here's a link to a previous answer: (GoLANG) *sql.DB Scan rows into string array pointer这是指向先前答案的链接: (GoLANG) *sql.DB Scan rows into string array pointer

Edit: Here's an example that's a more similar to your example.编辑:这是一个与您的示例更相似的示例。

This is for mariaDB btw, make sure to change the connection string and sql.Open to postgreSQL这是 mariaDB 顺便说一下,确保更改连接字符串和sql.Open到 postgreSQL


type 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 rg
func 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
}


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我想从 postgresql 数据库中获取部分数据作为 json object - I want to get part of a data from a postgresql database as a json object PostgreSQL的:我想像下面这样插入数据- - Postgresql : I want to insert data some way like below - 我想通过比较 postgresql 中的两列来获得特定的答案 - I want to get a specific answer by comparing two columns in postgresql 想要根据SSRS中的相同数据创建具有不同周期参数的2列 - Want to create 2 columns with different period parameters from the same data in SSRS 我想使用 postgresql 函数从不同的不同表名中获取数据 - I want fetch data from different different table name using postgresql function 我想获取我将放置日期的数据,我将获取从过去三年到输入日期的数据 - I want to fetch the data where I will put the date and I will get data from last three years to the entered date 如何在带有分组列的 integer 上进行聚合,我只希望包含一些列? - How do I make an aggregate on an integer with a grouped column, for which I only want some included? 我想创建一个 postgres 存储过程或 function 从数据超过 30 天的 2 个表中删除数据 - I want to create a postgres stored procedure or function that deletes data from 2 tables where data is older than 30 days 如何对 spring 数据底层查询进行一些更改 - How can I make some change on spring data underlying query 我想要一个 postgresql 函数来获取带有 fils 的单词数量 - I want a postgresql function to get amount in words with fils
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM