GORM GOLANG/Go msSQL UNIQUEIDENTIFIER 结构内部

2024-03-24

你好,我有像这里名为 person 的结构,当我调用我的休息端点并从 mssql 数据库获取数据时(其中 ID 是 ID 唯一标识符 默认 NEWSEQUENTIALID() )

package entities import ( mssql "github.com/denisenkom/go-mssqldb" "time" )
type Person struct { 
ID mssql.UniqueIdentifier 
FullName string Comments
string DateCreated time.Time 
DateModified time.Time
}

然后 golang 返回带有数字数组的响应 当我将 ID 更改为字符串时,它有不可读的字符。 反应不好 像 api 这样的调用之后我得到

{ "ID": [ 160,63, 67,62,243,107,20,16,143,174,0, 45,192,113,147,0 ],
"FullName": "Tony Stark",
"Comments": "",
"DateCreated": "2022-04-06T10:12:18.523Z",
"DateModified": "2022-04-06T10:12:18.523Z" 
}

我想要这样的回应

{ "ID": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"FullName": "Tony Stark",
"Comments": "",
"DateCreated": "2022-04-06T10:12:18.523Z",
"DateModified": "2022-04-06T10:12:18.523Z" }
func Getperson(w http.ResponseWriter, r *http.Request) {
var persons []entities.person
database.Instance.Raw("SELECT * FROM Persons").Scan(&person)
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(person)
}
func Connect(connectionString string) {
    //dsn := "sqlserver://sa:*****@127.0.0.1:1433?database=mydbforgo"
    Instance, err = gorm.Open(sqlserver.Open(connectionString), &gorm.Config{})
    if err != nil {
        log.Fatal(err)
        panic("Cannot connect to DB")
    }
    log.Println("Connected to Database...")
}

我哪里有bug?


你实际上会想打电话.String (eg: someStruct.uniqueID.String()) 对该值进行获取 GUID 的字符串表示形式:https://github.com/denisenkom/go-mssqldb/blob/master/uniqueidentifier.go#L72-L80 https://github.com/denisenkom/go-mssqldb/blob/master/uniqueidentifier.go#L72-L80

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GORM GOLANG/Go msSQL UNIQUEIDENTIFIER 结构内部 的相关文章

  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • 使用存储过程中的 Select 查询将单个变量分配给多行

    我的查询是使用 Select 将单个变量分配给多行 存储过程中的查询 例如 我从 Employee 表中获取 10 个 比如 1 到 10 个员工 ID 声明 id int select id EmpId from Employee sel
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 插入具有只读主键列的表

    我正在使用一个使用 sql server 数据库的应用程序 我试图在表中插入一行 如下所示 该表有一个主键 prodNum 这是自动生成的密钥 当我尝试向表中插入一行时 如下所示 在行中intResult oSglProdTableAdap
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • 通过 C# SqlCommand 执行合并语句不起作用

    我正在第一次尝试使用临时表和MERGE语句通过更新 SQL 表SqlCommandC 中的对象 我正在开发的程序旨在首先将大量记录 最多 20k 导出到 Excel 电子表格中 然后 用户可以搜索并替换特定值 并根据需要更新任意多记录中的任
  • os.Mkdir 和 os.MkdirAll 权限

    我正在尝试在程序开始时创建一个日志文件 我需要检查是否 log如果不创建目录 则目录存在 然后继续创建日志文件 好吧 我尝试使用os Mkdir 也os MkdirAll 但无论我在第二个参数中输入什么值 我都会得到一个没有权限的锁定文件夹
  • pymssql 库中的参数绑定是否正确实现?

    我使用 pymsqsql 库从 Python 程序调用极其简单的查询 with self conn cursor as cursor cursor execute select extra id from mytable where id
  • 如何在 SQL Server 中不循环更新列?

    出于性能角度的考虑 我只需要删除循环并使用一些联接或其他解决方案来更新 Result 表中的数据并获得循环返回的相同结果 标量函数 CREATE FUNCTION MultiplyerScl a INT b INT RETURNS INT
  • SQL Server 中的 FIFO 查询

    我正在构建一个库存管理应用程序c with SQL server 我想做一个FIFO从我的表查询 我以可变价格购买了相同的产品 之后我卖掉了其中一些 我想根据 先进先出 进行查询BatchDate柱子 所以我想通过PurchasePrice
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te
  • 将 SQL Server 2008 DB 迁移到 Postgres [重复]

    这个问题在这里已经有答案了 我想将 SQL Server 2008 数据库迁移到 Postgres 有没有一种无痛的方法来做到这一点 是否有任何工具可以扫描架构和存储过程以标记兼容性问题 无痛http dbconvert com conve
  • SQL-Server:备份集保存现有数据库以外的数据库的备份

    我正在尝试恢复数据库的 SQL Server 备份文件 但它抛出如下错误 备份集保存除现有数据库之外的数据库的备份 我的数据库是SQL Server 2008 备份文件是2005年的 可能是什么问题 我也遇到过这个问题 解决方案 不要创建空
  • 无法将数据加载到 mvc 4 中的 jTable 中

    好的 我第一次尝试 jTable 我可以加载表 但这对我没有什么好处 因为它不会加载我的任何数据 当我调试程序时 我想要的表中的所有行都存储在我的列表中 因此我很困惑为什么当我运行应用程序时会弹出一个对话框 显示 与服务器通信时发生错误 H
  • 如何从 JWT 令牌中提取声明

    我正在使用 dgrijalva jwt go 包 我想从令牌中提取有效负载 但找不到方法 示例 取自 https jwt io https jwt io 对于编码 eyJhbGciOiJIUZI1NiIsInR5cCI6IkpXVCJ9 e
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 如何为所有 API 端点全局设置 http.ResponseWriter Content-Type 标头?

    我是 Go 新手 现在正在用它构建一个简单的 API package main import encoding json fmt github com gorilla mux github com gorilla handlers log
  • SQL中如何识别字符串的第一个字符是数字还是字符

    我需要将数据中的第一个字符识别为 SQL Server 中的数字或字符 我对此比较陌生 我不知道从哪里开始 但这是我到目前为止所做的事情 我的数据看起来像这样 TypeDep Transfer From 4Z2 Transfer From
  • 根据最大值连接表

    这是我正在谈论的内容的一个简化示例 Table students exam results id name id student id score date 1 Jim 1 1 73 8 1 09 2 Joe 2 1 67 9 2 09 3

随机推荐