标签:arr err CRUD ctx JSON gin where row
gin CRUD
// units package dal //cxg 2022-7-29 import ( "net/url" "svrGIN/db" "svrGIN/model" "github.com/gin-gonic/gin/binding" "strings" "svrGIN/log" "github.com/gin-gonic/gin" ) func SelectUnits(ctx *gin.Context) { var arr model.TunitArray var r model.Res d := db.GetPG() where := ctx.Param("where") where, _ = url.QueryUnescape(where) where = strings.Trim(where, "/") if where != "" { where = " where " + where } rows, err := d.Query("select * from tunit" + where) if err != nil { r.Status = 500 r.Message = "fail" r.Exception = err.Error() ctx.JSON(500, &r) log.Log("SelectUnits()", err) return } defer d.Close() for rows.Next() { var row model.Tunit rows.Scan(&row.Unitid, &row.Unitname) arr.Tunits = append(arr.Tunits, &row) } arr.Status = 200 arr.Message = "success" ctx.JSON(200, &arr) } func InsertUnits(ctx *gin.Context) { var arr model.TunitArray var r model.Res ctx.ShouldBindBodyWith(&arr, binding.JSON) d := db.GetPG() tx, _ := d.Begin() for _, row := range arr.Tunits { s := "insert into tunit(unitid,unitname) values ('" + row.Unitid + "','" + row.Unitname + "')" _, err := tx.Exec(s) if err != nil { tx.Rollback() r.Status = 500 r.Message = "fail" r.Exception = err.Error() ctx.JSON(500, &r) log.Log("InsertUnits()", err) return } } tx.Commit() r.Status = 200 r.Message = "success" ctx.JSON(200, &r) } func UpdateUnits(ctx *gin.Context) { var arr model.TunitArray var r model.Res ctx.ShouldBindBodyWith(&arr, binding.JSON) d := db.GetPG() tx, _ := d.Begin() for _, row := range arr.Tunits { s := "update tunit set unitid='" + row.Unitid + "',unitname='" + row.Unitname + "' where unitid='" + row.Unitid + "'" _, err := tx.Exec(s) if err != nil { tx.Rollback() r.Status = 500 r.Message = "fail" r.Exception = err.Error() ctx.JSON(500, &r) log.Log("UpdateUnits()", err) return } } tx.Commit() r.Status = 200 r.Message = "success" ctx.JSON(200, &r) } func DeleteUnits(ctx *gin.Context) { var r model.Res d := db.GetPG() where := ctx.Param("where") where = strings.Trim(where, "/") s := "delete from tunit where unitid=" + where _, err := d.Exec(s) if err != nil { r.Status = 500 r.Message = "fail" r.Exception = err.Error() ctx.JSON(500, &r) log.Log("DeleteUnits()", err) return } r.Status = 200 r.Message = "success" ctx.JSON(200, &r) }
标签:arr,err,CRUD,ctx,JSON,gin,where,row 来源: https://www.cnblogs.com/hnxxcxg/p/16533684.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。