comment insérer une date de zone de texte à la base de données
merci de m'aider à insérer une date à partir d'une zone de texte sous la forme jj-mm-aaaa format de sql server.
mon code est comme suit:-
int prio = Convert.ToInt32(Priority.Text);
string stdate = planstart.Text;
string endate= planend.Text;
string actst = actualstart.Text;
string acten = actualend.Text;
SqlConnection myconnection = new SqlConnection(constring);
SqlCommand mycommand = new SqlCommand();
DataSet mydataset = new DataSet();
SqlDataAdapter mydataadapter = new SqlDataAdapter();
myconnection.Open();
mycommand.Connection = myconnection;
mycommand.CommandText = " insert into project_status.dbo.Project_Status_Report values('" + projectcode.Text + "','" + projectname.Text + "',(select P_Code from project_status.dbo.Project_Type where Project_Type = '" + projecttype.Text + "')," + prio + ",'" + stdate + "','" + endate + "','" + actst + "','" + acten + "','" + currentstatus.Text + "','" + remark.Text + "','no');";
mycommand.CommandType = CommandType.Text;
mycommand.ExecuteNonQuery();
et il est en train de lancer une exception en disant:-
Échec de la Conversion lors de la conversion de la date et/ou le temps de chaîne de caractères.
1) Regarde dans les requêtes paramétrées pour vous protéger contre l'Injection SQL. 2) Si votre date doit être une date, ne pas la traiter comme une chaîne de caractères. Valider que c'est une date valide, la convertir, puis offrir comme un paramètre dans la requête.
pouvez-vous me dire comment faire pour le convertir.car j'ai essayé mais a échoué à convertir.
si cela fonctionne que faire accepter répondre .................
pouvez-vous me dire comment faire pour le convertir.car j'ai essayé mais a échoué à convertir.
si cela fonctionne que faire accepter répondre .................
OriginalL'auteur Ajay Mirge | 2012-02-10
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour convertir des données selon vous sql server formiate de cette façon, vous pouvez résoudre le problème ..
Essayer
ou
Chaîne De Format Pour Les Dates
Faire usage de Paramerize requête pour éviter les INJECTION SQL...de rendre le code moins d'erreur de pron
Procédure pas à pas: l'Affichage des Données dans un Formulaire Windows à l'Aide d'une Requête Paramétrée
essayez édité réponse.....
merci cela a fonctionné pour moi..
Mirge - hey de faire accepter une réponse si cela fonctionne pour vous
OriginalL'auteur Pranay Rana
Juste un mot d'avertissement - vous besoin de stériliser cette requête pour empêcher les attaques par injection SQL. Envisager d'utiliser des requêtes paramétrées. Lire à ce sujet, il n'est pas vraiment la portée de cette réponse.
Vous devez créer fortement typé DateTime objets en premier et ensuite les mettre en forme comme vous le souhaitez insérer. Considérons la suite de la modification de votre code:
MODIFIER
J'ai enlevé le paramètre de la chaîne de la ToString() de sorte que vous pouvez obtenir un DateTime valide chaîne qui est utilisable par SQL Server.
Qui pourraient être les paramètres régionaux de votre base de données. Si le type de données est de type datetime, vous avez besoin pour passer à travers un objet datetime VALIDE. Le format dans lequel il s'affiche dépend des paramètres régionaux. Pensez à supprimer le paramètre de chaîne à partir de la méthode ToString () - il doit prendre régional en compte les paramètres et retourner DateTime valide chaîne.
OriginalL'auteur FarligOpptreden
OriginalL'auteur Anand Zambre