Insérer des données dans SQL Server à partir de code C#
J'ai une table student
(id, name
). Alors j'ai une zone de texte pour saisir le nom, quand on clique sur le bouton submit, il insère les données dans la base de données. Alors, comment puis-je insérer seulement de nom, pas d'id, parce que l'id est en auto increment?
J'ai essayé ce
insert into student(id, name) values(,name)
mais il n'est pas à insérer ma table.
C'est mon code :
protected void Button1_Click(object sender, EventArgs e)
{
string test = txtName.Text;
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Person.mdf;Integrated Security=True;User Instance=True");
string sql = "insert into student(name) values ('test')";
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException ex)
{
string msg = "Insert Error:";
msg += ex.Message;
}
finally
{
conn.Close();
}
}
avez-vous essayé de les insérer dans des étudiant(nom) (nom)
Non seulement cela, il vous a donné une erreur de syntaxe, probablement près de
Il n'a pas la moindre erreur.
Si la réponse à votre question, il faut le marquer comme réponse
Dans le Asp.Net c'est le même genre de code?
Non seulement cela, il vous a donné une erreur de syntaxe, probablement près de
,
. Si vous avez le code qui génère des erreurs, il est généralement une bonne idée d'inclure ces détails de l'erreur dans son intégralité.Il n'a pas la moindre erreur.
Si la réponse à votre question, il faut le marquer comme réponse
Dans le Asp.Net c'est le même genre de code?
OriginalL'auteur titi | 2012-06-14
Vous devez vous connecter pour publier un commentaire.
Omettre le
id
colonne au total, il sera rempli automatiquement. Pour utiliser votre variable, vous devez paramétrer votre requête SQL.Vous ne devriez jamais tenter de le faire par la construction d'une chaîne SQL contenant la valeur d'entrée, ce qui peut exposer votre code pour les vulnérabilités d'injection SQL.
titi Fournir plus de code (tout le toutim qui comprend l'insert et de base de données de communication) et nous pourrions vous aider, l'instruction SQL en lui-même EST correcte comme David M affiche à l'écran.
Je l'ai ajouté prêt, de bien vouloir avoir un coup d'oeil s'il vous plaît. Merci
Est la ligne n'est pas inséré à tous, ou est-il inséré avec la valeur "test" plutôt que sur le contenu de votre boîte de texte? Avoir mis à jour ma réponse avec un code pour résoudre le dernier...
OriginalL'auteur David M
De vous permettre de mieux utiliser les paramètres lorsque vous insérez des données.
a ajouté que la ligne de code aussi. merci de remarquer.
OriginalL'auteur Damith
Vous n'avez pas besoin de mentionner l'ID dans la première partie.
OriginalL'auteur Asif Mushtaq
J'ai été confronté à ce problème et après avoir essayé différentes solution trouvée à un débordement de pile, je pourrais résumer l'expérience comme suit:
les commandes exécutées dans l'interface de commande de mssql comme:
insert into table_name (val1,val2,val3,val4) VALUES ("val1","val2",0,"val4")
go
ou
insert into table_name VALUES ("val1","val2",0,"val4")
de travail lorsqu'il est saisi directement dans la base de données mssql invite,
Mais quand il est nécessaire d'utiliser l'instruction insert à partir de c#, il est nécessaire de garder à l'esprit que la chaîne doit être entouré par une paire supplémentaire d'unique quites, autour de chaînes de caractères, comme dans:
le problème ici est que la plupart des gens, comme moi, essayez d'utiliser <\"> à la place des guillemets doubles <">qui est mis en œuvre comme dans la commande ci-dessus de la ligne de cas, et SQL exécuteur testamentaire ne parvient pas à comprendre le sens de cette.
Même dans les cas où une chaîne de caractères doit être de remplacer, de s'assurer que les chaînes de caractères sont entourées par guillemets simples, où une chaîne concatination ressemble à une solution réalisable, comme dans:
OriginalL'auteur
OriginalL'auteur Nikhil D
Essayez la requête suivante,
SQL Server en interne auto incrémente la colonne id lorsque u insérer les données depuis u dit qu'il est en auto increment. Si cela ne fonctionne pas, le u vérifier l'identité de la colonne dans la base de données.
OriginalL'auteur Rajesh Subramanian
utiliser le mot-clé "identité" de l'auto incrément de la colonne id
Consulter : http://technet.microsoft.com/en-us/library/aa933196(v=sql.80).aspx
et vous n'avez besoin de parler de la "id" dans la requête d'insertion
OriginalL'auteur Ram