Je n'arrive pas à obtenir ma base de données sql pour accepter un nombre décimal d'une zone de texte sur la page de mon site Web. Lorsque je saisis un nombre entier, il n'y a pas de problème, ce n'est que lorsque j'entre un nombre décimal (123,45) que j'ai le problème. J'ai essayé double.parse(textbox.text)
et decimal.parse(textbox.text)
en vain.Impossible d'insérer la décimale de la zone de texte dans la base de données
Je reçois le message d'erreur
chaîne d'entréen'a pas été dans le bon format
Ma déclaration d'insertion est ci-dessous:
"INSERT INTO Transactions (Date, Account, Payee, Chq_Num, Reference, GST_Rate,
Amount, Document_Number, Bank_Account) VALUES ('" & yy & "-" & mm & "-" & dd &
"','" & DropDownList3.SelectedValue & "','" & TextBox3.Text & "','" &
TextBox5.Text & "','" & TextBox4.Text & "'," & DropDownList2.SelectedValue &
"," & Double.Parse(TextBox6.Text) & "," & TextBox27.Text & ",'" &
DropDownList1.SelectedValue & "'); INSERT INTO Cash (Date, Bank_Account,
Amount, Document_Number) VALUES ('" & yy & "-" & mm & "-" & dd & "','" &
DropDownList1.SelectedValue & "'," & Double.Parse(TextBox2.Text) & "," &
TextBox27.Text & ");"
Mon champ de base de données est réglé sur décimal (18,2) Des idées?
[SQL alerte d'injection] (http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - vous devez ** ** non concaténer ensemble vos instructions SQL - utilisez ** requêtes paramétrées ** à la place pour éviter l'injection SQL –
Pour ne pas être mesquine, mais pour votre propre bon sens, vous devriez probablement aussi nommer les zones de texte. – logixologist