31 lines
575 B
Go
31 lines
575 B
Go
package db
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
)
|
|
|
|
type MssqlDbWrapper struct {
|
|
db *sql.DB
|
|
}
|
|
|
|
func NewMssqlDbWrapper(db *sql.DB) DbWrapper {
|
|
return &MssqlDbWrapper{db: db}
|
|
}
|
|
|
|
func (wrapper *MssqlDbWrapper) Exec(ctx context.Context, query string, args ...any) (DbWrapperResult, error) {
|
|
result, execErr := wrapper.db.ExecContext(ctx, query, args...)
|
|
if execErr != nil {
|
|
return DbWrapperResult{}, execErr
|
|
}
|
|
|
|
affectedRows, err := result.RowsAffected()
|
|
if err != nil {
|
|
return DbWrapperResult{}, err
|
|
}
|
|
|
|
return DbWrapperResult{
|
|
AffectedRows: affectedRows,
|
|
}, nil
|
|
}
|