Hola.
les sere sincero . he fracazado en el intento de realizar una simple aplicación para windows. he diseñado los formularios pero en la parte del codigo no he podido atar cabos.
estoy out.
proyecto:
1 form (login form) con db para nuevos usuarios
2 formadmin (ingreso de datos) con db para guardar datos de alumnos
3 formuser (clon de form2 con alguna omiciones en los datos)
es todo.
espero que alguno de uds me pueda ayudar.
he consulatado con textos, video tutoriales pero no doy con las respuestas.
de antemano muchas gracias. contacte conmigo por favor
Menudo sitio para preguntar sobre programación, jeje.
Bueno, yo pienso que deberías ser más especifico sobre cuales son tus problemas, porque como comprenderás, no vamos a ponerte todo el código para realizar eso.
Sé más explicito con tu problema.
De todas formas, te recomiendo "la web del programador" para que te ayuden.
Un saludo.
Muchas Gracias por tu interes. de echo qe revise web relacionadas conel tema, pero no son muy amigables, aqui me siento en casa y en masconfiaza, se que alguno de uds ademas de la video edición conocetambien de programación.
al respecto de:
Citarcomprenderás, no vamos a ponerte todo el código para realizar eso.
seria mi sueño hecho realidad pero al margen de ponerme el codigo, desearia tambien que me den una explicadita.
bueno estoy resolviendo los siguientes puntos.
*Coneccion a la base de datos. (no logro hacer la conexion)
Por partes:
he creado un form loginform
(https://videoedicion.org/foro/proxy.php?request=http%3A%2F%2Fimg16.imageshack.us%2Fimg16%2F1284%2Fform1.th.gif&hash=8c32e0ebf0c997f209f09a8ad35179c4366b327e) (http://img16.imageshack.us/my.php?image=form1.gif)
moduloModule Module1
Public sAppPath As String = Application.StartupPath.ToString
Public sBaseDatos As String = sAppPath & "\datos.mdb"
Public sConexion As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBaseDatos
Sub Main()
Dim flogin As New ingresopass
If flogin.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
flogin.Close()
Application.Run(New newuser)
End If
End Sub
End Module
el boton ok'
Imports System.Data
Imports System.Data.OleDb
Public Class ingresopass
Private veces As Integer = 0
Private Const NumeroIntentos As Integer = 3
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
If Me.PasswordTextBox.Text <> "" And Me.UsernameTextBox.Text <> "" Then
Dim cn As New OleDbConnection(sConexion)
Dim estatus As Integer
' Permitir varios intentos
veces = veces + 1
'Comenzamos una transacción
Try
cn.Open()
' evitamos la inyección de código reemplazando las comillas simples
' por otro carácter
Dim sql As String = "Select estatus From usuarios Where " & _
" password = '" & Trim(Replace(Me.PasswordTextBox.Text, "'", "k")) & _
"' And usuario = '" & Trim(Replace(Me.UsernameTextBox.Text, "'", "k")) & "'"
'creamos un comando
Dim cmd As New OleDbCommand(sql, cn)
'leemos el valor y lo convertimos a entero
estatus = CInt(cmd.ExecuteScalar().ToString)
Catch ex As Exception
'mostramos el error
If Err.Number = 91 Then
MessageBox.Show("No se encontro registro ")
Else
MessageBox.Show("error " & Err.Number.ToString & vbCrLf & ex.Message)
End If
Finally
'cerramos la conexion solo si esta abierta
If (cn.State And ConnectionState.Open) <> 0 Then
cn.Close()
End If
End Try
If estatus = 1 Then
Me.DialogResult = Windows.Forms.DialogResult.OK
Else
If veces < NumeroIntentos Then
Label1.Text = "Quedan " & (NumeroIntentos - veces) & " intentos"
If (cn.State And ConnectionState.Open) <> 0 Then
cn.Close()
End If
Exit Sub
End If
Me.DialogResult = Windows.Forms.DialogResult.No
End If
Hide()
Else
MessageBox.Show("Ingresa tus datos completos", "Faltan Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
' todavía puedes hacerlo de esta forma
'MsgBox("Ingresa tus datos completos.", MsgBoxStyle.Exclamation, "Faltan datos")
End If
End Sub
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
Me.DialogResult = Windows.Forms.DialogResult.Cancel
Hide()
End Sub
Private Sub LoginForm1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
newuser.Show()
End Sub
End Class
al momento de depurar todo bien peo al momento de publicar no encuentra la base de datos
Y si lo haces en Access?
Algún problema?
no es una opción para mi. aunque serial la ideal , si la tubiese de alternativa.
gracias Fire.
.
.
.S.O.S.
Claro, pero es mucho más sencillo y más posible que te contesten en foros especializados.
Así a simple vista no veo error, aunque me parece que estás usando el sistema de conexión y consultas de VB6, quizá es que aún se soporte, pero ahora en .net segun sé, se utiliza los Adapters y Datasets.
Prueba con una conexión más o menos así:
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.OleDb
Imports System
Imports System.IO
Imports System.Collections
Public Class base
Public conexion As OleDbConnection
Public consulta As oledbdataadapter
Public operacion As OleDbCommand
Public registros As DataSet
Public ruta
Public AppPath As String = System.IO.Directory.GetCurrentDirectory() & "\datos.mdb"
' CONTRUCTOR
Sub New()
Try ' POR SI QUIERES EVITAR EXCEPCIONES
conexion = New OleDbConnection("Provider=Microsoft.Jet.OleDB.4.0; data source=" & AppPath)
conexion.Open()
Catch ex As Exception
MsgBox("Error: No se encuentra la Base de Datos",MsgBoxStyle.Critical)
End
End Try
End Sub
Fijate en todo momento si la cadena de conexión tiene la ruta correcta a tu archivo access.
Suerte.