Visual Basic.NET - login de usuario y password, con tabla access

 
Vista:

login de usuario y password, con tabla access

Publicado por Loo (2 intervenciones) el 20/02/2009 16:34:34
Hola a todos,
tengo un problema, actualmente he empezado un proyecto de una clinica veterinaria, y lo he hecho por el formulario de acceso. Bien hasta aqui todo bien. De momento los usuarios por defecto ya estarán almacenado en una tabla donde hay 6 usuarios, con "nombre", "password", "estado" e "id". He conseguido que al leer los dos textbox dandole al boton aceptar me los lea y puedo acceder al formulario siguiente, hasta este punto estoy ignorando la columna "estado".

Pero mi intención es que, cuando un usuario determinado acceda se grabe en su fila de la columna "estado" la palabra "conectado". Y para eso, lo que hice fue dejar el codigo intacto y adjuntar un datagrid poniendo "en comentario" (en verde) lo de que acceda al formulario. Para mi sorpresa fue que los usuarios que en la tabla (entrando en Ms Access) están ordenados, y si los veo en el Datagrid me sale esto:

nombre password estado id
admin 1111 (null) 3
usuario 3 4444 (null) 4
usuario 4 5555 (null) 5
usuario 5 6666 (null) 6
admin 1111 (null) 1
usuario 1 2222 (null) 2

Y mi tabla entrando desde access está ordenada:

nombre password estado id
admin 1111 (null) 1
usuario 1 2222 (null) 2
usuario 2 3333 (null) 3
usuario 3 4444 (null) 4
usuario 4 5555 (null) 5
usuario 5 6666 (null) 6

No entiendo porqué hace esto, si aguien me puede ayudar, lo del tema de poner "conectado" en el estado ya es secundario.

Gracias por adelantado.

Mi código:

0.

0. Imports System
1. Imports System.Data
2. Imports System.Data.OleDb
3.
4. Public Class Form1
5. Inherits System.Windows.Forms.Form
6.
7. #Region " Código generado por el Diseñador de Windows Forms "
8.
9. Public Sub New()
10. MyBase.New()
11.
12. 'El Diseñador de Windows Forms requiere esta llamada.
13. InitializeComponent()
14.
15. 'Agregar cualquier inicialización después de la llamada a InitializeComponent()
16.
17. End Sub
18.
19. 'Form reemplaza a Dispose para limpiar la lista de componentes.
20. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
21. If disposing Then
22. If Not (components Is Nothing) Then
23. components.Dispose()
24. End If
25. End If
26. MyBase.Dispose(disposing)
27. End Sub
28.
29. 'Requerido por el Diseñador de Windows Forms
30. Private components As System.ComponentModel.IContainer
31.
32. 'NOTA: el Diseñador de Windows Forms requiere el siguiente procedimiento
33. 'Puede modificarse utilizando el Diseñador de Windows Forms.
34. 'No lo modifique con el editor de código.
35. Friend WithEvents Label3 As System.Windows.Forms.Label
36. Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
37. Friend WithEvents Label1 As System.Windows.Forms.Label
38. Friend WithEvents Button1 As System.Windows.Forms.Button
39. Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
40. Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
41. Private Sub InitializeComponent()
42. Me.TextBox2 = New System.Windows.Forms.TextBox
43. Me.Label3 = New System.Windows.Forms.Label
44. Me.TextBox1 = New System.Windows.Forms.TextBox
45. Me.Label1 = New System.Windows.Forms.Label
46. Me.Button1 = New System.Windows.Forms.Button
47. Me.DataGrid1 = New System.Windows.Forms.DataGrid
48. CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
49. Me.SuspendLayout()
50. '
51. 'TextBox2
52. '
53. Me.TextBox2.Location = New System.Drawing.Point(256, 72)
54. Me.TextBox2.Name = "TextBox2"
55. Me.TextBox2.Size = New System.Drawing.Size(96, 20)
56. Me.TextBox2.TabIndex = 9
57. Me.TextBox2.Text = " "
58. '
59. 'Label3
60. '
61. Me.Label3.Location = New System.Drawing.Point(192, 72)
62. Me.Label3.Name = "Label3"
63. Me.Label3.Size = New System.Drawing.Size(56, 16)
64. Me.Label3.TabIndex = 8
65. Me.Label3.Text = "Password"
66. '
67. 'TextBox1
68. '
69. Me.TextBox1.Location = New System.Drawing.Point(256, 40)
70. Me.TextBox1.Name = "TextBox1"
71. Me.TextBox1.Size = New System.Drawing.Size(96, 20)
72. Me.TextBox1.TabIndex = 7
73. Me.TextBox1.Text = " "
74. '
75. 'Label1
76. '
77. Me.Label1.Location = New System.Drawing.Point(192, 40)
78. Me.Label1.Name = "Label1"
79. Me.Label1.Size = New System.Drawing.Size(48, 23)
80. Me.Label1.TabIndex = 6
81. Me.Label1.Text = "Nombre:"
82. '
83. 'Button1
84. '
85. Me.Button1.Location = New System.Drawing.Point(232, 112)
86. Me.Button1.Name = "Button1"
87. Me.Button1.Size = New System.Drawing.Size(80, 24)
88. Me.Button1.TabIndex = 10
89. Me.Button1.Text = "Aceptar"
90. '
91. 'DataGrid1
92. '
93. Me.DataGrid1.DataMember = ""
94. Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
95. Me.DataGrid1.Location = New System.Drawing.Point(24, 168)
96. Me.DataGrid1.Name = "DataGrid1"
97. Me.DataGrid1.Size = New System.Drawing.Size(488, 192)
98. Me.DataGrid1.TabIndex = 11
99. '
100. 'Form1
101. '
102. Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
103. Me.ClientSize = New System.Drawing.Size(664, 414)
104. Me.Controls.Add(Me.DataGrid1)
105. Me.Controls.Add(Me.Button1)
106. Me.Controls.Add(Me.TextBox2)
107. Me.Controls.Add(Me.Label3)
108. Me.Controls.Add(Me.TextBox1)
109. Me.Controls.Add(Me.Label1)
110. Me.Name = "Form1"
111. Me.Text = "Form1"
112. CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
113. Me.ResumeLayout(False)
114.
115. End Sub
116.
117. #End Region
118.
119. Public conector As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:datos.mdb")
120. Public adaptador As New OleDbDataAdapter("Select * from Tabla", conector)
121. Public midataset As New DataSet
122.
123.
124. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
125. Dim pos As Integer
126. Dim m As Integer
127.
128.
129. conector.Open()
130. Dim cmd As New OleDbCommand("Select * from Tabla", conector)
131. Dim dr As OleDbDataReader = cmd.ExecuteReader
132.
133. Do While dr.Read
134. If (dr.Item("nombre") = TextBox1.Text) Then
135. If (dr.Item("password") = TextBox2.Text) Then
136.
137. BindingContext(midataset, "Tabla").Position = pos
138.
139. 'f2.Show()
140. 'Me.Hide()
141.
142.
143.
144. DataGrid1.DataSource = midataset
145. DataGrid1.DataMember = "Tabla"
146. m = 1
147. End If
148. Else
149. pos = pos + 1
150. End If
151. Loop
152.
153.
154. If m = 0 Then
155. MsgBox("Nombre de usuario o contraseña")
156. End If
157.
158. conector.Close()
159. End Sub
160.
161. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
162. adaptador.Fill(midataset, "Tabla")
163. TextBox1.DataBindings.Add("Text", midataset, "Tabla.nombre")
164. TextBox2.DataBindings.Add("Text", midataset, "Tabla.password")
165. TextBox1.Text = ""
166. TextBox2.Text = ""
167. TextBox1.Focus()
168. End Sub
169.
170.
171. End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder