Rumah > pembangunan bahagian belakang > Golang > Baca baris pangkalan data ke dalam rentetan pemetaan

Baca baris pangkalan data ke dalam rentetan pemetaan

WBOY
Lepaskan: 2024-02-09 13:24:18
ke hadapan
534 orang telah melayarinya

Baca baris pangkalan data ke dalam rentetan pemetaan

editor php Xiaoxin Membaca baris pangkalan data ke dalam rentetan yang dipetakan ialah teknik pemprosesan data yang biasa. Dengan membaca dan memetakan data baris jadual pangkalan data ke dalam rentetan, manipulasi dan pemprosesan data boleh dilakukan dengan mudah. Teknologi ini sering digunakan dalam pembangunan web untuk menukar hasil pertanyaan pangkalan data kepada format rentetan yang lebih mudah dibaca untuk paparan dan penggunaan yang mudah. Ia bukan sahaja meningkatkan kecekapan pemprosesan data, tetapi juga memudahkan logik kod, menjadikan program lebih ringkas dan lebih mudah untuk diselenggara. Membaca baris pangkalan data ke dalam rentetan yang dipetakan adalah kemahiran penting dan mesti ada untuk pembangun.

Kandungan soalan

Saya ingin membaca keputusan dari jadual sql mudah seperti yang ditunjukkan di bawah

pelanggan kunci
A 12345
B 6789

Sekarang, saya ingin membina map[string]string dengan pasangan nilai kunci bersamaan dengan nilai baris seperti ini:

map[a:12345, b:6789]
Salin selepas log masuk

Walau bagaimanapun, saya menghadapi masalah mengeluarkan nilai daripada hasil pertanyaan dan mencipta pasangan nilai kunci secara dinamik. Saya akan memberikan garis kasar kod (sambungan sql bukan masalahnya, saya telah mengetahuinya)

import "database/sql"

func main() {

    // some code to connect to mssql...

    db, _ := sql.open("mssql", connstring)

    stmt := "select customer, key from tbl"
    rows, _ := db.query(stmt)
    defer rows.close()

    data := make(map[string]string)
    for rows.next() {
        // need help here grabbing each row pair and adding them to my map...
    }
}
Salin selepas log masuk

Saya juga bersedia untuk mencuba melakukan ini dengan struktur kosong, di mana medan menjadi lajur pertama set hasil (secara dinamik) dan nilai menjadi lajur kedua set hasil.

Penyelesaian

Anda boleh menyimpan sementara nilai dalam dua pembolehubah dan kemudian menyimpannya dalam peta:

func main() {
    stmt := "SELECT customer, key from tbl"
    rows, _ := db.Query(stmt)
    defer rows.Close()

    data := make(map[string]string)
    var (
        consumer string
        key string
    )
    for rows.Next() {
        if err := rows.Scan(&consumer, &key); err != nil {
            // Handle err
        }

        data[consumer] = key 
    }

    for k, v := range data {
        fmt.Println(k, v)
    }
    // "A" "12345"
    // "B" "6789"

}
Salin selepas log masuk

Perhatikan bahawa consumerkey pembolehubah diperuntukkan di luar gelung supaya kita boleh menggunakannya semula. Walaupun nilainya adalah rentetan kosong, pembolehubah akan ditimpa pada setiap lelaran.

Atas ialah kandungan terperinci Baca baris pangkalan data ke dalam rentetan pemetaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan