2015-09-17 22 views
0

我剛開始去編程。golang Gorp Postgres選擇返回只有一行

在Go中,我用libpq使用gorp.v1,因爲我的數據庫是Postgres。 我寫了一個Postgres函數,並從gorp和libpq中調用它。 該函數返回多行。但是,當我從grop dbmap調用它時,它只返回一行。

下面是代碼示例:

rowData := []*RoadData{} 

_, err := db.PgMap.Select(&rowData, "SELECT * FROM pgr_roadDataCost(1000, 'roadnetwork',lattitidue1,logitude1,lattitidue2,logitude2)") 

當我打印rowData,它僅包含一個行,但實際上有多個行。

回答

0

有一個SelectOne方法:

var roadData RoadData 
err := db.PgMap.SelectOne(&roadData, "SELECT * FROM pgr_roadDataCost(1000, 'roadnetwork',lattitidue1,logitude1,lattitidue2,logitude2)") 
+0

其實我想獲得所有的行,但以我的方式,它只返回一行。當我用同樣的方式將gorp用於MySql時,它將返回所有行。 – Anu

0

如果查詢返回只有一排,你可以使用db.QueryRow:

db.QueryRow("select name from users where id = ?", 1).Scan(&name)

can read here for more details