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

Baca baris pangkalan data ke dalam rentetan pemetaan

WBOY
WBOYke hadapan
2024-02-09 13:24:18499semak imbas

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]

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...
    }
}

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"

}

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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam