err = row.Scan(&resourceList, resourceTypeId)
を呼び出そうとすると、次のエラーが表示されます。
列インデックス 0、名前 'ID' でのスキャン エラー: スキャンはサポートされていません。int64 型の driver.Value を *[]authService.Permission" 型に保存していますSQL は次の內(nèi)容を返しますリーリー
リーリー
query の
EXEC ステートメントで SQL Server を使用しようとすると、同じクエリが正常に動(dòng)作します。
ここでいくつかの問(wèn)題があります。最初の QueryRowContext
あなたの質(zhì)問(wèn)は、ステートメントが複數(shù)の結(jié)果を返すことを示しているため、これは使用する正しい関數(shù)ではありません (QueryContext
の方が適切です)。
2 番目の問(wèn)題は、エラーに記載されているとおりです:
結(jié)果セットの最初の列は整數(shù) (この場(chǎng)合はおそらく値 15
) で、これを []Permission
にスキャンしようとしています。あなたが変われば
var resourceList []Permission
から var resourceList int
バグは修正される予定です (ただし、2 番目のパラメーターも機(jī)能する必要があります)。
この例ドキュメントを參照してください。そのコードを自分の狀況に適用すると、次のような結(jié)果になります (テストされていません。正しい方向に導(dǎo)くためだけに): リーリー
注: 構(gòu)造體 Permission には 4 つの要素が含まれていますが、クエリは 2 つの列を返すため、他の 2 つの列にどのようにデータを入力するつもりなのか (または何をするのか) がよくわかりません。マッピングは) です。