2017-10-14 3 views
-1

je DataGridView dans mon WinForm, ma chaîne de connexion estcmd.ExecuteNonQuery continue à ajouter

dim con as new sqlconnection("Data source=" & My.Settings.sqlserver & ", " & My.Settings.sqlport & ";Network Library=DBMSSOCN;initial catalog=" & My.Settings.dbname & ";User id=" & My.Settings.Username & ";Password=" & My.Settings.Password & ";") 

j'ai un bouton pour insérer des données dans la base de sql. le code est

dim cmd as new sqlcommand("insert into db(Firstname) values(@fname)") 
con.opn 
cmd.parametres.add("@fname",sqldbtype.varchar).value=txt.text 
cmd.executenonquery 
con.close 
end sub 

Ce code fonctionne très bien, mais le DataGridView ne met pas à jour/se rafraîchir à moins que je redémarre l'application. Donc, j'ai ajouté ce code

Private sub btn_click 
    dim cmd as new sqlcommand("insert into db(Firstname) 
    values(@fname)") con.opn 
    `cmd.parametres.add("@fname",sqldbtype.varchar).value=txt.text 
    if cmd.executenonquery() =1 then 
    dim cmd as new sqlcommand("Select *from contacts") 
    dim adapter as new sqldataadapter 
    dim table as datatable 
    apater.fill(table) 
    dgvw.datasource=table 
    con.close 
end sub 

`

Ce code est également ajouté sur le code form_load.This rafraichit/met à jour le dgvw mais le problème est, supposons que dans ma zone de texte, je tape « ABCDE », puis insère plusieurs données dans la base de sql qui ressemblent à

« a » (il ajoute les premières données à la table db) « ab » « abc » et ainsi de suite !! Qu'est-ce que je fais de mal? comment devrais-je résoudre ce problème ?? Et une dernière chose, si je supprime le adaper.fil et d'autres codes dans l'instruction cmd.executenonquery if, il ajoute seulement une donnée à la table comme prévu! S'il vous plaît aider!

screensht: [link1] https://drive.google.com/open?id=0B9Q3-Og5WXqYOWFMaGRBT2tGRVk

[lien2] https://drive.google.com/open?id=0B9Q3-Og5WXqYbEV2YUVSdW1kWkU

+1

on dirait que vous ajoutez des données à la base de données dans le gestionnaire d'événements TextChanged de la zone de texte. TextChanged est déclenché pour chaque caractère tapé dans le TextBox. – Blackwood

+0

Veuillez lire [ask] et prenez le [tour]. Je ne peux pas voir comment ce code ajouterait plusieurs parties d'une chaîne, mais je peux voir comment plusieurs noms pourraient être ajoutés. – Plutonix

+0

wait ... Letme donner des screenshots –

Répondre

-1

le fixe! Le problème était le suivant: Sous ClearTextBox publique (racine ByVal As Control) Pour chaque ctrl As Control Dans root.Controls ClearTextBox (ctrl) Si TypeOf ctrl est TextBox Puis CType (ctrl, TextBox) .Text = String. vide End If Next End Sub ctrl

enlevé et WALLAHHHHHHHHHHHHH

+2

Dites-vous que vous avez corrigé le problème en supprimant le code que vous n'avez pas inclus dans votre question? Si oui, cette question et réponse ne va aider personne, et vous devriez les supprimer. – Blackwood