2010-01-07 6 views
1

Je rencontre un problème avec une requête d'insertion dans SQL Server. Le texte complet de la requête estRequête SQL Server - Insertion d'un problème

insert into franchise (fran_id, name, address1, address2, city, state, zip, email, phone, text) 
values(0, "DevFranchise1", "101 Main St.", "-", "Brighton", "Mi", "48116", "[email protected]", 8105551234, "asdflkjsadf"); 

Maintenant "état" et "texte" tous les deux haut-bleu. Il me donne une liste des erreurs comme ce qui suit:

Msg 207, Level 16, State 1, Line 1 
Invalid column name 'DevFranchise1' 
Msg 207, Level 16, State 1, Line 2 
Invalid column name '101 Main St.' 

Qu'est-ce que cela signifie/comment puis-je résoudre ce problème?

Répondre

5

cordes littéraux doivent être entre guillemets simples ('), pas des guillemets doubles (").

De plus, les parenthèses à angle droit ([]) vous permettent d'utiliser des mots-clés (tels que l'état et le texte) comme noms de colonnes. Ce n'est pas toujours nécessaire, mais fournit une issue dans des situations ambiguës.

insert into franchise 
    (fran_id, name, address1, address2, city, [state], zip, email, phone, [text]) 
values 
    (0, 'DevFranchise1', '101 Main St.', '-', 'Brighton', 'Mi', '48116', 
    '[email protected]', 8105551234, 'asdflkjsadf'); 
+0

et à l'avenir j'éviterais d'utiliser des mots-clés comme nom de colonne. S'il devient bleu comme vous le décrivez, vous savez que quelque chose est en cours ... –

+0

Merci pour l'aide des gars, ma première fois de travailler sur un serveur IIS. –

1

Vous devez utiliser des guillemets simples dans SQL.

5

Essayez d'utiliser des guillemets simples (') au lieu de deux (").

Sinon, vos valeurs semblent être considérés comme des noms de colonnes.

1

Utilisez le caractère guillemet simple et non le double caractère de citation dans SQL

2

utiliser des guillemets simples et il fonctionnera probablement.

1
set quoted_identifier off 

avant l'insertion.

Mais mieux vaut utiliser des guillemets simples.