CONECTAR DA ERRO
Citação:StringConexao As String = "Server=.;Database=dbKoala;user id=sa;pwd=123456789"
Private Function AbreBanco() As SqlConnection
Dim Conn As New SqlConnection
With Conn
.ConnectionString = StringConexao
.Open()
End With
Return Conn
End Function
Public Function ListaUsuario(ByVal Usuario As String) As SqlDataReader
Dim strQuery As New StringBuilder
With strQuery
.Append("Select Usuario From t_Login Where Usuario like ("" & Usuario & "");")
End With
Dim cldBancoDados As New cldBancoDados
Return cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function
No SQL esta da seguinte forma:
Citação:CREATE DATABASE dbKoala
ON PRIMARY (
NAME=dbKoala,
FILENAME="C:\Projeto\Koala\Koala\BancoDados\dbKoala.MDF",
SIZE=10MB,
FILEGROWTH=10%
)
GO
USE dbKoala
OBS: tudo que voce fizer relacionado a SQL, procure utilizar a parametrização para evitar injeção SQL.
Citação:Imports System.Data.SqlClient
Imports System.Windows.Forms
Public Class cldBancoDados
Dim StringConexao As String = "Server=.;Database=dbKoala;user id=sa;pwd=123456789"
Private Function AbreBanco() As SqlConnection
Dim Conn As New SqlConnection
With Conn
.ConnectionString = StringConexao
End With
If Conn.State = ConnectionState.Closed Then
Conn.Open()
End If
Return Conn
End Function
Private Sub FechaBanco(ByVal Conn As SqlConnection)
If Conn.State = ConnectionState.Open Then
Conn.Close()
End If
End Sub
Public Sub ExecutaComando(ByVal strQuery As String)
Dim Conn As New SqlConnection
Conn = AbreBanco()
Try
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
.ExecuteNonQuery()
End With
Catch ex As Exception
"Throw ex
MsgBox("Erro ao executar Comando", MsgBoxStyle.Critical, "Erro")
Finally
FechaBanco(Conn)
End Try
End Sub
Public Function RetornaDataSet(ByVal strQuery As String) As DataSet
Dim Conn As New SqlConnection
Try
Conn = AbreBanco()
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
End With
Dim daAdaptador As New SqlDataAdapter
Dim dsDataSet As New DataSet
daAdaptador.SelectCommand = cmdComando
daAdaptador.Fill(dsDataSet)
Return dsDataSet
Catch ex As Exception
Throw New Exception("Erro na camada 3" & ex.Message)
Finally
FechaBanco(Conn)
End Try
End Function
Public Function RetornaDataReader(ByVal strQuery As String) As SqlDataReader
Dim Conn As New SqlConnection
Conn = AbreBanco()
Try
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
End With
Return cmdComando.ExecuteReader
Catch ex As Exception
Throw
MsgBox("Erro ao retornar DataReader (cldBancoDados[58,68])")
End Try
End Function
End Class
Citação:Imports System.Data.SqlClient
Imports System.Text
Public Class clnLogin
Private _Usuario As String
Private _Senha As String
Public Property Usuario As String
Get
Return _Usuario
End Get
Set(value As String)
_Usuario = value
End Set
End Property
Public Property Senha As String
Get
Return _Senha
End Get
Set(value As String)
_Senha = value
End Set
End Property
Public Function ListaUsuario(ByVal Usuario As String) As SqlDataReader
Dim strQuery As New StringBuilder
With strQuery
.Append("Select Usuario From t_Login Where Usuario like ("" & Usuario & "");")
End With
Dim cldBancoDados As New cldBancoDados
Return cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function
Public Function ListaSenha(ByVal Senha As String) As SqlDataReader
Dim strQuery As New StringBuilder
With strQuery
.Append("Select Senha From t_Login Where Senha like ("" & Senha & "");")
End With
Dim cldBancoDados As New cldBancoDados
Return cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function
Citação:Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
Usuario = txtUsuario.Text
Senha = txtSenha.Text
Dim drDadosSenha As System.Data.SqlClient.SqlDataReader
Dim drDados As System.Data.SqlClient.SqlDataReader
drDados = Login.ListaUsuario(Usuario)
If drDados.Read Then
drDadosSenha = Login.ListaSenha(Senha)
If drDadosSenha.Read Then
frmKoala.Show()
Me.Close()
Else
MsgBox("Usuario e/ou Senha Incorretos")
End If
Else
MsgBox("Usuario e/ou Senha Incorretos", MsgBoxStyle.Critical, "Login")
End If
End Sub
Public Function RetornaDataReader(ByVal strQuery As String) As SqlDataReader
Dim Conn As New SqlConnection
Conn = AbreBanco()
Try
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
End With
Return cmdComando.ExecuteReader
Catch ex As Exception
[txt-color=#e80000]Throw[/txt-color]
MsgBox("Erro ao retornar DataReader (cldBancoDados[58,68])")
End Try
End Function
sistemas q usam de fato servidor, tem uma tela de configuração, e salvam essas informações pro sistema carregar diretamente após.....
inventar isso c algum servidor é apenas pra deixar seus sistema muito trabalhoso pra usuários configurarem, eu acho q foi descontinuado, mas se aplica muito bem ao seu caso o SQL Compact, procure algo sobre, apenas um runtime e o banco local esta a funcionar, vc aponta o caminho apenas, q via código como ser dinâmico, ai o usuário instala na pasta padrão ou outra, não importa....a vez q usei, é algo simples de tudo, nos moldes de usar as tabelas de access
usando OOP vc tem uma única classe q trabalha contra o banco de dados, é apenas nela q vc muda alguma coisa da sintaxe q muda de banco pra banco as vezes