éditeur php Xiaoxin La lecture des lignes de la base de données dans des chaînes mappées est une technique courante de traitement des données. En lisant et en mappant les données de ligne de la table de base de données en chaînes, la manipulation et le traitement des données peuvent être facilement effectués. Cette technologie est souvent utilisée dans le développement Web pour convertir les résultats des requêtes de base de données dans un format de chaîne plus lisible pour un affichage et une utilisation faciles. Cela améliore non seulement l'efficacité du traitement des données, mais simplifie également la logique du code, rendant le programme plus concis et plus facile à maintenir. La lecture des lignes de la base de données dans les chaînes mappées est une compétence importante et indispensable pour les développeurs.
Je souhaite lire les résultats d'une simple table SQL comme indiqué ci-dessous
client | clé |
---|---|
A | 12345 |
B | 6789 |
Maintenant, je veux construire un map[string]string
avec des paires clé-valeur égales aux valeurs de ligne comme ceci :
map[a:12345, b:6789]
Cependant, j'ai du mal à retirer les valeurs des résultats de la requête et à créer dynamiquement les paires clé-valeur. Je vais vous donner un aperçu du code (la connexion SQL n'était pas le problème, je l'ai compris)
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... } }
Je suis également prêt à essayer de faire cela avec une structure vide, où les champs deviennent la première colonne de l'ensemble de résultats (dynamiquement) et les valeurs deviennent la deuxième colonne de l'ensemble de résultats.
Vous pouvez stocker temporairement les valeurs dans deux variables puis les stocker dans la carte :
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" }
Notez que les variables consumer
和 key
sont allouées en dehors de la boucle afin que nous puissions les réutiliser. Même si la valeur est une chaîne vide, la variable sera écrasée à chaque itération.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!