提示:以下是本篇文章正文内容
一、新增数据1.示例:
var tableDataInfo xm.TableDataInfo
tableDataInfo.ID=1
tableDataInfo.Name="名字"
tableDataInfo.Power="权限"
tableDataInfo.Order=1
isok:=sqlInsertTableDataInfo (tableDataInfo )
fmt.Println(isok)
2.方法 sqlInsertTableDataInfo :
/*
sqlInsertTableDataInfo TableDataInfo 数据
输入 TableDataInfo
输出 bool 是否执行成功
*/
func sqlInsertTableDataInfo (model *xm.TableDataInfo ) bool {
var args []interface{}
insertSQL:= `INSERT INTO [dbo].[table_data] ([td_id] ,[td_name] ,[td_power] ,[td_order]) `
insertSQL+= `VALUES(?,?,?,?)`
args = append(args, model.ID, model.Name, model.Power, model.Order)
result, err := sqlDB.Exec(insertSQL, args...)
if err != nil {
sbjlog.Debug("sqlInsertTableDataInfo 新增 table_data 信息SQL错误 %s", err.Error())
return false
}
if count, err := result.RowsAffected(); count <= 0 || err != nil {
return false
}
return true //返回成功
}
二、删除数据
1.示例:
tdID:=1
affect, err := ExecSQL(sqlDB, "DELETE table_data where td_id= ?", tdID)
fmt.Println(affect)
fmt.Println(err)
2.方法 ExecSQL :
/*
ExecSQL 通用语句
参数:
1. *sql.DB
2. SQL语句 例子:UPDATE WX_USER_INFO SET wui_status = 20 WHERE wui_openid = ?
例子:INSERT INTO dbo.ALL_WEIXIN_MSG_LOG (awml_wxid,awml_send_openid,awml_msg_from,awml_msg_body,awml_addtime) VALUES(?,?,?,?,GETDATE())
3. SQL语句参数参数 XXXX ,.........
返回受影响行数affect和错误提示消息err
*/
func ExecSQL(sqlBasis *sql.DB, sqlStr string, args ...interface{}) (int64, error) {
affect := int64(-1)
var result sql.Result
var err error
result, err = sqlBasis.Exec(sqlStr, args...)
if err == nil {
affect, _ = result.RowsAffected()
}
if affect == -1 { //执行失败
err = fmt.Errorf("ExecSQL Err:%s\nsql:%s\ndata:%s", err, sqlStr, fmt.Sprintln(args...))
}
return affect, err
}
三、修改数据
1.示例:
var tableDataInfo xm.TableDataInfo
oldID:=1
tableDataInfo.ID=2
tableDataInfo.Name="名字"
tableDataInfo.Power="权限"
tableDataInfo.Order=1
isok:=sqlUpdateTableDataInfo(tableDataInfo,oldID)
fmt.Println(isok)
2.方法 sqlUpdateTableDataInfo :
/*
sqlUpdateTableDataInfo TableDataInfo 数据
输入 TableDataInfo
输出 bool 是否执行成功
*/
func sqlUpdateTableDataInfo (model *xm.TableDataInfo ,oldID int) bool {
var args []interface{}
updateSQL:= `UPDATE [dbo].[table_data] set [td_id]=? ,[td_name] =?,[td_power] =?,[td_order]=? where td_id=?`
args = append(args, model.ID, model.Name, model.Power, model.Order,oldID )
result, err := sqlDB.Exec(updateSQL, args...)
if err != nil {
sbjlog.Debug("sqlUpdateTableDataInfo 修改 table_data 信息SQL错误 %s", err.Error())
return false
}
if count, err := result.RowsAffected(); count <= 0 || err != nil {
return false
}
return true //返回成功
}
三、查询数据
1.示例:
var tableDataInfo xm.TableDataInfo
tableDataInfo.ID =2
sqlStr:="select isnull(td_name,'') td_name from table_data where td_id =?"
err = sqlDB.QueryRow(sqlStr, tableDataInfo.ID).Scan(&tableDataInfo.Name)
fmt.Println(err)
fmt.Println(tableDataInfo.Name)
总结
每天进步一点点