列インデックス 0、名前 'ID' でのスキャン エラー: スキャンはサポートされていません。int64 型の値を *authService.Permission 型に保存しています。」
P粉475126941
P粉475126941 2024-03-25 21:26:54
0
1
423

err = row.Scan(&resourceList, resourceTypeId) を呼び出そうとすると、次のエラーが表示されます。

列インデックス 0、名前 'ID' でのスキャン エラー: スキャンはサポートされていません。int64 型の driver.Value を *[]authService.Permission" 型に保存しています

リーリー
SQL は次の内容を返します

リーリー

queryEXEC ステートメントで SQL Server を使用しようとすると、同じクエリが正常に動作します。

ここで何が問題になっているのかわかりますか?前もって感謝します。

P粉475126941
P粉475126941

全員に返信(1)
P粉022140576

ここでいくつかの問題があります。最初の QueryRowContext

あなたの質問は、ステートメントが複数の結果を返すことを示しているため、これは使用する正しい関数ではありません (QueryContext の方が適切です)。

2 番目の問題は、エラーに記載されているとおりです:

結果セットの最初の列は整数 (この場合はおそらく値 15) で、これを []Permission にスキャンしようとしています。あなたが変われば var resourceList []Permission から var resourceList int バグは修正される予定です (ただし、2 番目のパラメーターも機能する必要があります)。

この例ドキュメントを参照してください。そのコードを自分の状況に適用すると、次のような結果になります (テストされていません。正しい方向に導くためだけに): リーリー

注: 構造体 Permission には 4 つの要素が含まれていますが、クエリは 2 つの列を返すため、他の 2 つの列にどのようにデータを入力するつもりなのか (または何をするのか) がよくわかりません。マッピングは) です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート