Bonjour,
j'aimerais inserer un mot de passe automatiquement dans un textbox grace à un bouton mais le code me fais deffaut
Version imprimable
Bonjour,
j'aimerais inserer un mot de passe automatiquement dans un textbox grace à un bouton mais le code me fais deffaut
Quel est ton code actuel?
MON CODE EST LE SUIVANT:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Protected Sub B3_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = " SELECT SUBSTRING ( MD5 ( RAND ( ) ) DE 1 POUR 6 ) AS ('" + T4.Text + "') " 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub
C'est du VB.NET, ici, c'est un forum VC++. :weird:
De plus, votre code n'a aucun sens, révisez votre code, en particulier la partie abordant ADO.NET.
De quel mot de passe parle-t-on ?
Celui pour se connecter à la base de données, ou le machin dans "T4" qui est "inséré" façon barre-à-mine dans la tronche dans une requête SQL qui n'a ni queue ni tête ?
Je sais que le code n'est pas cohérent,je l'ais pris sur le net pour un essais après plusieurs tentatives avec d'autres.
Je n'arrive pas à trouver la bonne structure et c'est pour cela que je vous demande votre aide en vb averti que vous êtes,de me conseiller sur un nouveau code qui serait plus adapté à ma recherche.
Je veux insérer un mot de passe créer automatique, à l'intérieur de ma textbox "T4" et en pressant mon bouton "B3_click"
merci
Générer lettre et chiffre aléatoire
Qu'est-ce qui est censé le créer, ce mot de passe?
Edit: Si tu veux un code qui en génère un, je vois bien un truc du genre:
Code:
1
2
3 Dim bytes(12) As Byte New RNGCryptoServiceProvider().GetBytes(bytes) Me.T4.Text = Convert.ToBase64String(bytes)
Bon, on est très loin de la solution.
Et des choses "basiques" ne sont pas maitrisé qui sont nécessaires pour faire cette action.
Déjà, avant tout, pour insérer des choses dans une table SQL, c'est pas avec un "SELECT" mais avec un "INSERT".
Si c'est pour vous servir du serveur de base de donné comme générateur de hash :
https://stackoverflow.com/questions/...ing-with-t-sql
Mais autant le faire en local, via ce que donne @Médinoc dans sa réponse précédente.
Vous n'êtes pas clair dans votre besoin initial.
oui,j'ai recopier bêtement un code sur le net et oublié mes base comme vous le dite si bien.
Néanmoins je veux insérer dans mon textbox un mot de passe aléatoire avec un click sur mon bouton,se mot de passe sera inséré dans ma table sql après avoir rentré d'autres informations à l'aide de mes autres textbox.
Pour avoir accès à certains liens de mon site il faudra alors taper son id et son mot de passe.
Le code que je vous est tapé oublié le si vous pouviez me mettre simplement sur le chemin d'un code simple avec commantext= ? ...
Le code de @Médinoc fait largement le taffe.Citation:
Néanmoins je veux insérer dans mon textbox un mot de passe aléatoire avec un click sur mon bouton,
Il génère 12 octets de valeurs "complètement" aléatoire (assez pour ne pas se faire défoncer par un cryptanalyse du dimanche).
(Si c'était pseudo-aléatoire, un mec pourrait essayer de deviner le mot de passe généré d'un utilisateur, en demande après lui des mots de passe de passe à la chaine).
Il convertie ces 12 octets en base64 => convertir n'importe quel ensemble de valeur d'octets en un ensemble d'octets un peu plus grand mais avec uniquement des caractères "imprimables", pratique pour un mots de passes de 12-15 caractères.
Après, pour l'insertion dans une base de données, c'est le truc bateau que tout cours sur VB.NET ou C# aborde au moment d'ADO.NET ou EntityFrame. Donc bonne lecture. :aie:
ok, je vais voir ce qu"est le code @Médinoc.
A savoir que je suis en code behind sur mon site, en espérant que sa ne pose pas de probleme avec le code @Médinoc?
Merci
je vous dit merci,
j'ai retapez mon code avec insert into table etc...
en supprimant certaines fonction de chaîne de caractère et en modifiant des fonction numérique et cela ma ouvert d'autre horizon.
quand j'aurais le bon codage pour mon site je vous le ferais passer si ça peut aider 8O;)
VOILA MON MESSAGE D'ERREUR:
La fonction rand requiert 0 à 1 arguments.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Data.SqlClient.SqlException: La fonction rand requiert 0 à 1 arguments.
Erreur source:
Ligne 75 : Me.T3.Text = ""
Ligne 76 : Me.T4.Text = ""
Ligne 77 : cmd.ExecuteNonQuery()
Ligne 78 : cn.Close()
Ligne 79 :
Fichier source : C:\Users\Propriétaire\Documents\Visual Studio 2008\WebSites\A.E.A.C.F.O.G.aspx\Administration.aspx Ligne : 77
Trace de la pile:
[SqlException (0x80131904): La fonction rand requiert 0 à 1 arguments.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1961498
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4869815
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +192
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +317
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137
ASP.administration_aspx.B3_Click(Object sender, EventArgs e) in C:\Users\Propriétaire\Documents\Visual Studio 2008\WebSites\A.E.A.C.F.O.G.aspx\Administration.aspx:77
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
I
Ça veut dire que tu cherches toujours à faire ton random "côté base", plutôt que le faire côté client comme dans le code que j'avais proposé (quitte à l'envoyer à la base par la suite).
bonjours,
mais pour le faire côté client je doit être sur mon hébergeur et taper le code en java,comme pour mes boîte de message.
La je le tape côté base mais je l'ouvre avec un localhost internet explorer il devrait fonctionner?
pouvez-vous être plus explicite...
Qu'est-ce que Java vient faire ici? Ton logiciel qui se connecte à la base est en VB.Net!
En ASP.NET :zoubi:Code:Ton logiciel qui se connecte à la base est en VB.Net!
bonjour,
non j'avais eu un soucis avec mon hébergeur lors du transfert sur celui-la tous c'était bien passé,mais lorsque je me rendais sur le net pour voir si tous était correctement installé,dans le liens photo en bas de page j'ai un bouton +de photos et lorsque l'on click dessus un message box doit apparaître.
mais rien ne se passer et j'avais un code erreur que le liens entre le côté client et côté serveur ne se faisait pas et il a fallu que je tape un code en java côté serveur pour avoir mon message box côté client.
MAIS LA ON PARLE DU LOGICIEL d'on je me sert alors je suppose que côté base c'est"base de donnée" et côté client c'est le vb sur le logiciel lui même,
si c'est ca alors je suis bien côté client et pas côté base.
LE CODE que vous m'avez proposé et le code médinoc je suis aller voir mais la?
POUVEZ-vous me le faire en sql tout simple
merci
Bon là, vous êtes complètement aux fraises. 8O
Il est difficile d'aider un débutant complet dans un forum.
Vous devez avoir un minimum de base pour qu'on puisse vous aider efficacement. Et le problème doit être assez restreint.
Là, c'est complètement WTF.
On peut juste signaler les principaux contre-sens. Et ici, ils sont très très nombreux.
Vous utilisez de l'ASP.NET.
C'est une architecture en 3 couches minimum si l'on accède à une base de données.
Il y a la partie qui tourne dans le navigateur, qui est en JavaScript (et pas en JAVA), qui n'est qu’exceptionnellement modifiée pour faire des trucs non standard.
Il y a la partie qui tourne dans le serveur Web, qui correspond au "code behind". Il est très courant que le code d'IHM "coté serveur Web" et du code métier se mélange dans cette partie mais il serait préférable de bien distinguer ces 2 couches, même si elles tournent l'une comme l'autre dans le serveur Web.
Il y a la partie qui tourne dans le serveur de base de données, les requêtes SQL, les procédures stockées, etc...
La solution de @Médinoc est utilisable dans la couche métier dans le serveur Web (ou dans le gloubi-boulga sur le serveur Web si vous mélangez les 2 couches).
Elle a l'avantage de la flexibilité et de la robustesse.
Vous vous acharnez à vouloir faire votre tambouille dans la partie Serveur de base de données.
OK, mais faut lire la documentation, personne n'a la science infuse.
Et la documentation est claire :
https://docs.microsoft.com/en-us/sql...d-transact-sql
Vous ne faite que générer un nombre entre 0 et 1 et les paramètres possibles sont clairs et cela ne correspond pas à votre besoin.
Donc utilisez la solution de @Médinoc dans le code sur le Server Web.
MON CODE:
mon message erreur:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Protected Sub B3_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = " insert into dbo.Table1 ('" + T4.Text + "') SELECT RAND()" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub
Erreur du serveur dans l'application '/A.E.A.C.F.O.G.aspx'.
Des paramètres ont été fournis pour l'objet 'dbo.Table1' qui n'est pas une fonction. Si ces paramètres sont un indicateur de table, un mot clé WITH est requis.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Data.SqlClient.SqlException: Des paramètres ont été fournis pour l'objet 'dbo.Table1' qui n'est pas une fonction. Si ces paramètres sont un indicateur de table, un mot clé WITH est requis.
Erreur source:
Ligne 75 : Me.T3.Text = ""
Ligne 76 : Me.T4.Text = ""
Ligne 77 : cmd.ExecuteNonQuery()
Ligne 78 : cn.Close()
Ligne 79 :
Fichier source : C:\Users\Propriétaire\Documents\Visual Studio 2008\WebSites\A.E.A.C.F.O.G.aspx\Administration.aspx Ligne : 77
Trace de la pile:
[SqlException (0x80131904): Des paramètres ont été fournis pour l'objet 'dbo.Table1' qui n'est pas une fonction. Si ces paramètres sont un indicateur de table, un mot clé WITH est requis.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1961498
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4869815
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +192
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +317
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137
ASP.administration_aspx.B3_Click(Object sender, EventArgs e) in C:\Users\Propriétaire\Documents\Visual Studio 2008\WebSites\A.E.A.C.F.O.G.aspx\Administration.aspx:77
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
Informations sur la version : Version Microsoft .NET Framework :2.0.50727.4253; Version ASP.NET :2.0.50727.4257
RTFM :
https://docs.microsoft.com/en-us/sql...t-transact-sql
Vous insistez avec votre "solution" à le faire dans la base de données, alors apprenez à utiliser correctement le T-SQL. :weird:
Si votre Table1 à 2 colonnes :
Code:cmd.CommandText = " insert into dbo.Table1 SELECT '" + T4.Text + "', RAND()"
Juste pour avoir le bon réflexe:Hélas il n'y a pas, à ma connaissance, de fonction Escape() pour SQL dans ADO.Net; mais pour Microsoft SQL Server (et je sais ici que c'est ce qui est utilisé, car la classe est System.Data.SqlClient.SqlConnection), je sais que le seul "échappement" est le doublement des simples quotes (j'ai testé, avec tout le BMP, comment SQL Server exportait une table sous forme de script -- un de ces quatre il faudrait que je teste sur les 16 autres plans).Code:cmd.CommandText = " insert into dbo.Table1 SELECT '" + T4.Text.Replace("'", "''") + "', RAND()"
Eusse blackshal été plus compétent, j'aurais recommandé l'usage de paramètres SQL, mais pour l'instant sa tête exploserait.
Merci,
il suffit de le savoir,ce que vous appeler tambouille nous nous on l'appel "autodidacte" mais merci de vous mettre a mon niveau.
"autodidacte" : Personne qui s'est instruite par elle-même, sans maître.
Cela veut dire s'instruire, en lisant des cours, par exemple.
Pas en essayant au pif n'importe quoi et ne pas chercher à comprendre ce qu'on vous dit (ici, on n'est pas votre prof.).
bon je me renseigne sur le multicouche:je me documente pour etre en phase et essayer de comprendre;
I. Présentation
II. Le concept du modèle multicouche
III. Mise en pratique
III-A. Création de l'application Web
III-B. Création de la couche de la logique métier
III-C. Création du projet des objets de transfert de données
III-D. Création de la couche d'accès aux données
IV. Pour aller plus loin
IV-A. Améliorer encore les performances de l'interface homme machine
IV-A-1. Connecter la source de données sur un « GridView »
IV-A-2. Connecter la source de données sur un « Repeater »
IV-B. Plusieurs interfaces homme-machine ou machine-machine grâce à la modularité
IV-B-1. Une application Console
IV-B-2. Un service Web avec Windows Communication Foundation (WCF)
IV-C. Ajouter une gestion de mots de passe
IV-D. Maintenance en mémoire des données importantes
IV-E. Changement de la DAL
V. Conclusion
VI. Références
Remerciements
mais une derniere question pourquoi le reste de mon code fonctionne sur le service client et pas celui que je cherche avec random,
mon code entier:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 <%@ Register src="entête.ascx" tagname="entête" tagprefix="uc1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) End Sub Protected Sub B4_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = "insert into dbo.Table1 values('" + T1.Text + "','" + T2.Text + "','" + T3.Text + "','" + T4.Text + "')" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub Protected Sub B6_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = "DELETE FROM dbo.Table1 WHERE ID =('" + T1.Text + "')" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) End Sub Protected Sub B5_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = "UPDATE dbo.Table1 SET Nom= ('" + T2.Text + "'),Prenom= ('" + T3.Text + "'),Mot_de_passe= ('" + T4.Text + "') WHERE ID=('" + T1.Text + "')" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub Protected Sub B3_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = " insert into dbo.Table1 SELECT '" + T4.Text.Replace("'", "''") + "', RAND()" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub </script>
Vous êtes bien gentil à copier-coller un plan d'un bouquin/article sur comment faire une application Web/WCF en 4 couches, mais votre code c'est du mono-couche de chez mono-couche.
Le développement, c'est pas de la peinture en bâtiment.:weird:
Dans les méthodes "_Click" vous êtes toujours dans la couche de présentation.
Vous croyez avoir la science infuse ?
Vous n'avez même pas la base de la base en SQL.
Dans un Insert dans une table, vous devez spécifier la valeur pour toutes les colonnes qui n'acceptent pas de valeur par défaut, et spécifier le nom des colonnes si vous ne les remplissez pas toutes.
Et votre Table1 a au moins 4 colonnes et vous lui en fournissez 2, sans même indiquer les nom des colonnes.
bon je vois mieux et je ne veux pas paraître présomptueux ou impolis ne vous y tromper pas.je sais que je suis un novice en la matière et merci de prendre du temps pour moi.
je vais pouvoir avancer avec tous se que vous m'avez donné comme infos...
ps:j'ai lu le multicouche et merci pour la docs, ca me fais pensée a l'architecture des cartes mères,sans le code mais avec des bits...
bonjour,
ma question est la suivante est-ce que la couche de présentation à un liens avec le WCF?
WPF <> WCF :weird:
Windows Communication Foundation(WCF), c'est un framework de "Communication", pas de "Présentation".
C'est donc utile pour faire les communications entre différentes couches d'une solution logicielle.
Le couche client/présentation n'est pas obligée d'utiliser les outils WCF pour communiquer avec un service qui utilise WCF.
Il faut qu'elle utilise l'un des moyens offert par WCF et configuré/autorisé par le service.
@MEDINOC:
c'est un type de découpage de mon code et de mon application,au moment de la validation elle fait appel à une classe métier qui va récupéré le contenu
de mon textbox puis va vérifier par exemple que le contenu soit au bon format.Un fois que cela est fait ma classe métier fait appel à une méthode qui va stockée le contenu en base de donnée.Cette méthode sert pour pouvoir implémenter des fonctions dans un site indépendamment de la base de donnée ou de l'interface?
Mon côté tambouille:
Erreur du serveur dans l'application '/A.E.A.C.F.O.G.aspx'.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 <%@ Register src="entête.ascx" tagname="entête" tagprefix="uc1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) End Sub Protected Sub B4_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = "insert into dbo.Table1 values('" + T1.Text + "','" + T2.Text + "','" + T3.Text + "','" + T4.Text + "')" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub Protected Sub B6_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = "DELETE FROM dbo.Table1 WHERE ID =('" + T1.Text + "')" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) End Sub Protected Sub B5_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = "UPDATE dbo.Table1 SET Nom= ('" + T2.Text + "'),Prenom= ('" + T3.Text + "'),Mot_de_passe= ('" + T4.Text + "') WHERE ID=('" + T1.Text + "')" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub Protected Sub B3_Click(ByVal sender As Object, ByVal e As System.EventArgs) cn.Open() cmd.Connection = cn cmd.CommandText = "insert into dbo.Table1 ('" + T1.Text + "','" + T2.Text + "','" + T3.Text + "')SELECT ('" + T4.Text + "'),( Round(RAND()*9)+1)" 'remet le focus sur T1 apres avoir valide Me.T1.Focus() 'reinitialise les champs du formulaire apres avoir valide Me.T1.Text = "" Me.T2.Text = "" Me.T3.Text = "" Me.T4.Text = "" cmd.ExecuteNonQuery() cn.Close() End Sub </script>
La fonction round requiert 2 à 3 arguments.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Data.SqlClient.SqlException: La fonction round requiert 2 à 3 arguments.
Erreur source:
Ligne 72 : Me.T3.Text = ""
Ligne 73 : Me.T4.Text = ""
Ligne 74 : cmd.ExecuteNonQuery()
Ligne 75 : cn.Close()
Ligne 76 :
Fichier source : C:\Users\Propriétaire\Documents\Visual Studio 2008\WebSites\A.E.A.C.F.O.G.aspx\Administration.aspx Ligne : 74
Trace de la pile:
[SqlException (0x80131904): La fonction round requiert 2 à 3 arguments.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1961498
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4869815
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +192
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +317
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137
ASP.administration_aspx.B3_Click(Object sender, EventArgs e) in C:\Users\Propriétaire\Documents\Visual Studio 2008\WebSites\A.E.A.C.F.O.G.aspx\Administration.aspx:74
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
Informations sur la version : Version Microsoft .NET Framework :2.0.50727.4253; Version ASP.NET :2.0.50727.4257
:(:(:(:(:(:(:(:(:(
RTFM !!!!!!!!!!!!!!!
https://docs.microsoft.com/en-us/sql...d-transact-sql
Mais tout votre code de la requête dans "B3_Click" n'a aucun sens (dans les autres méthodes, c'est foireux mais un peu moins).
RTFM aussi, et j'ai déjà donné le lien vers la documentation.
Allez, avec un peu de patience, et beaucoup de bol, votre programme tombera en marche, ou pas.
RTFM BORDEL !!!!!!!!
bonjour,
je me sert de visual basic express 2008 et je lis de la docs pour une version plus récente de visual basic il y a des options que je ne possède pas forcement et me demande si sur ma version tous fonctionnera correctement?
EX:je n'ai pas le calculate code metrics for selected projet(s)
je ne voudrais pas avoir de surprise en créant une nouvelle couche métier , dto ou en mettant un même objet dans 2 couches différente.
ps: tapez dans votre barre d'adresse aeacfog.fr , mon code fonctionne je créer en ligne.:oops:
On vous l'a dit depuis le début, ici, c'est un forum C++/CLI pas VB.NET.
Si vous voulez avoir un super VB.NET de qualité, faites vos demandes sur le bon Forum.
https://www.developpez.net/forums/f4...ngages/vb-net/
Mais si vous faites toujours le kéké qui ne lit pas la doc, vous allez aussi vous faire rembarrer.
Oui, mais vos problèmes n'ont rien à voir avec VB.NET mais avec SQL, et T-SQL en particulier, car vous n'utilisez pas de couche d'ORM.Citation:
je me sert de visual basic express 2008
Vous dialoguez directement avec le gestionnaire de base de données, et il faut lui donner des instructions qu'il comprenne et pas des trucs qui n'ont de sens que dans votre caboche.
Et ?Citation:
et je lis de la docs pour une version plus récente de visual basic il y a des options que je ne possède pas forcement
Si vous ne prenez pas la peine de lire et de comprendre la documentation pour des outils basiques, vous pensez que cela sera plus efficace avec des outils plus perfectionnés, avec une documentation encore plus conséquente ? NON !!!
Lisez la documentation correspondant à la version que vous utilisez, bordel.Citation:
et me demande si sur ma version tous fonctionnera correctement?
C'est un outil de qualité logiciel. Heureusement que vos l'avez pas, sinon, il vous aurez engueulé comme du poisson pourri.Citation:
EX:je n'ai pas le calculate code metrics for selected projet(s)
Commencez par maitriser les outils de base, c'est encore très loin d'être le cas.
Mais franchement, quand on n'y connait rien, prendre un IDE vieux de 9 ans, c'est vraiment chercher les emmerdes.
Prenez la dernière version. La documentation est à jours, le support est meilleur et les outils plus simple d'utilisation.
Respectez la manière de faire et vous n'aurez pas de problème, mais lisez la doc !!!Citation:
je ne voudrais pas avoir de surprise en créant une nouvelle couche métier
Design vieillot, pas de mise à jour partielle de base, problème graphique sous FireFox (resizing d'image), pas de support à la navigation moderne, pas de cohérence graphique ni ergonomique entre les pages, non validation coté client des champs de formulaire, mise en page des formulaires complètement bogué etc...Citation:
mon code fonctionne je créer en ligne
"fonctionne", c'est assez "relatif".