Conexão com SQL Server Expression | Dicas C# | Forum | C# Brasil


Conexão com SQL Server Expression | Dicas C# | Forum

Login form protected by Login LockDown.


 
Você precisa fazer login para escrever mensagens Login Registrar


Registrar? | Recuperar Senha?

Pesquisar Fóruns:


 






Minimum search word length is 4 characters – Maximum search word length is 84 characters
Uso do Curinga nas Pesquisa:
*  igual a qualquer número de caracteres    %  igual a exatamente um caractere

Conexão com SQL Server Expression

Sem tags
UsuárioMensagem

13:44
19 janeiro 2012


PauloRocha

São Paulo

Member

editoriais 5

Mensagem editada 13:54 – 19 janeiro 2012 por PauloRocha


Olá Raphael

Obrigado por responder, mas esta foi a primeira mudança que fiz: Criei um public void conforme abaixo:

 

public static SqlConnection GetConnection()

{

string caminhoBD = getCaminho();

caminhoBD = caminhoBD + ** Você não tem permissão para visualizar este link ** ;

string strConexao = "Server=ROCHA_VGN-PCSQLExpress; Database=Sementes; UID=sa; PWD=123"; // retorna um conexao

return new SqlConnection(strConexao);

}

// fim getConnection

 

No GetCaminho() Deixei como está, ou seja:

public static string getCaminho()

{

string caminhoArquivo = Application.StartupPath;

if (caminhoArquivo.IndexOf("binDebug") != -1)

{

caminhoArquivo = caminhoArquivo.Replace("binDebug", "");

}

else if (caminhoArquivo.IndexOf("binRelease") != -1)

{

caminhoArquivo = caminhoArquivo.Replace("binRelease", "");

}

return caminhoArquivo;

}

// Fim getcaminho

————————————————————————————————————————————————

 

No formulário de login ficou como estava, mas apesar da alteração no GetConnection() não funcionou:

using (SqlConnection con = Conexao.GetConnection())

{

try

{

con.Open();

string sql = "Select * From TbLogin Where Login=? and Senha=?";// preenche o objeto command

SqlCommand cmd = newSqlCommand(sql, con);// define os parametros

cmd.Parameters.Add(newSqlParameter("Login", Login));

cmd.Parameters.Add(newSqlParameter("Senha", Conexao.GerarHash(Senha)));// executa a consulta

dr = cmd.ExecuteReader(CommandBehavior.SingleRow);

verificaLogin(dr); // Copiei abaixo para sua análise

}

catch (Exception ex)

{

MessageBox.Show("Erro ao efetuar a autenticao do usurio: " + ex.Message);

return;

}

finally

{

con.Close();

}

}

————————————————————-

 

Acredito que o problema esteja abaixo, mas não consigo entender

 

private void verificaLogin(SqlDataReader dr)

{

{

if (dr.Read())

{

if (dr["ativo"].Equals(false))

{

MessageBox.Show("O Usurio precisa estar habilitado! Contate o Administrador");

return;

}

else

{

nomeUsuario = dr["Login"].ToString();

Usuario.Login = nomeUsuario;

if (dr["Perfil"].Equals(1))

{

perfilUsuario ="Admin";

}

else if (dr["Perfil"].Equals(2))

{

perfilUsuario = "operador";

}

Usuario.Perfil = perfilUsuario;// ler arquivo de configurao e obtem valores

string[] dadosXml = newstring[7];

string caminhoConfig = Conexao.getCaminho();

caminhoConfig = caminhoConfig + "" + "DadosConfig.xml";

dadosXml = Conexao.leXML(caminhoConfig); // define variveis globais

Usuario.Instituicao = dadosXml[0];

Usuario.ArqConfig = dadosXml[1];

Usuario.ArqDados = dadosXml[2];

Usuario.ArqExcel = dadosXml[3];

Usuario.ArqImagem = dadosXml[4];

Usuario.ArqBackup = dadosXml[5];

}

this.DialogResult = DialogResult.OK;

}

else

{

tentativas += 1;

if (tentativas >= 3)

{

MessageBox.Show("Nmero de tentativas foi excedido!", "Login", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

System.

Environment.Exit(0);// fecha aplicacao

}

else

{

txtUsuario.Clear();

txtPwd.Clear();

MessageBox.Show("Chave ou Senha invlida!", "Login", MessageBoxButtons.OK,  MessageBoxIcon.Error);

}

txtUsuario.Focus();

}

}

 

As mensagens de erro do botão Login estão funcionando direito, mas esse do verificaLogin não se apresentam. Não sei o que estou esquecendo de alterar….. Antecipadamente grato

20:12
16 janeiro 2012


Raphael Cardoso

Admin

editoriais 87

Paulo, teoricamente onde está OleDb você muda para Sql.

Assim sendo onde é OleDbConnection ficará como SqlConnection.

 

PauloRocha disse:

Olá pessoal

Sou iniciante e tenho várias dúvidas, mas vou escrever a mais simples.

Aprendi a fazer uma Classe Conexão conforme abaixo:

classConexao

{

publicSqlConnection c = newSqlConnection();publicstring Status = "";publicvoid Conectar()

{

string s = "";

s = "Server=ROCHA_VGN-PC\\SQLExpress;Database=Sementes;UID=sa;PWD=123";

c.ConnectionString = s;

c.Open();

Status = "Conexo Aberta";

}

publicvoid Desconectar()

{

c.Close();

Status = "Conexo Fechada";

}

 

No formulário sempre usei o seguinte

Conexao cx = new Conexao()

 

por exemplo:

privatevoid ListarUsuarios()

{

string sql = "";

sql +=

" Select idUsuario, NomeUsuario, DataCad, NivelAcesso From TbLogon ";

sql +=

" Order by NomeUsuario ";

cx.Conectar();

da = newSqlDataAdapter(sql, cx.c);

da.Fill(ds, "TbLogon");

dgvListarUsuario.DataSource = ds.Tables["TbLogon"];

cx.Desconectar();

———

 

Mas comprei um DVD que contém um aplicativo que estou tentando aprender na prática, só que ele usa Ole para um arquivo Acess e usa conforme abaixo:

using (con = Acesso.GetConnection())

e lá no Acesso está conforme abaixo:

 

public static OleDbConnection

GetConnection()

{

string caminhoBD = getCaminho();

caminhoBD = caminhoBD + "\\Dados\\financas.mdb";

string strConexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + caminhoBD + ";Mode=ReadWrite;Persist Security Info=False";

//Retorna uma conexão.

returnnewOleDbConnection (strConexao);

}

//fim getconnection

 

 Como faço para substituir por SQLServer?

 

Alguém pode me ajudar?

PauloRocha disse:

Olá pessoal

Sou iniciante e tenho várias dúvidas, mas vou escrever a mais simples.

Aprendi a fazer uma Classe Conexão conforme abaixo:

classConexao

{

publicSqlConnection c = newSqlConnection();publicstring Status = "";publicvoid Conectar()

{

string s = "";

s = "Server=ROCHA_VGN-PC\\SQLExpress;Database=Sementes;UID=sa;PWD=123";

c.ConnectionString = s;

c.Open();

Status = "Conexo Aberta";

}

publicvoid Desconectar()

{

c.Close();

Status = "Conexo Fechada";

}

 

No formulário sempre usei o seguinte

Conexao cx = new Conexao()

 

por exemplo:

privatevoid ListarUsuarios()

{

string sql = "";

sql +=

" Select idUsuario, NomeUsuario, DataCad, NivelAcesso From TbLogon ";

sql +=

" Order by NomeUsuario ";

cx.Conectar();

da = newSqlDataAdapter(sql, cx.c);

da.Fill(ds, "TbLogon");

dgvListarUsuario.DataSource = ds.Tables["TbLogon"];

cx.Desconectar();

———

 

Mas comprei um DVD que contém um aplicativo que estou tentando aprender na prática, só que ele usa Ole para um arquivo Acess e usa conforme abaixo:

using (con = Acesso.GetConnection())

e lá no Acesso está conforme abaixo:

 

public static OleDbConnection

GetConnection()

{

string caminhoBD = getCaminho();

caminhoBD = caminhoBD + "\\Dados\\financas.mdb";

string strConexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + caminhoBD + ";Mode=ReadWrite;Persist Security Info=False";

//Retorna uma conexão.

returnnewOleDbConnection (strConexao);

}

//fim getconnection

 

 Como faço para substituir por SQLServer?

 

Alguém pode me ajudar?

10:19
15 janeiro 2012


PauloRocha

São Paulo

Member

editoriais 5

Olá pessoal

Sou iniciante e tenho várias dúvidas, mas vou escrever a mais simples.

Aprendi a fazer uma Classe Conexão conforme abaixo:

classConexao

{

publicSqlConnection c = newSqlConnection();publicstring Status = "";publicvoid Conectar()

{

string s = "";

s = "Server=ROCHA_VGN-PC\\SQLExpress;Database=Sementes;UID=sa;PWD=123";

c.ConnectionString = s;

c.Open();

Status = "Conexo Aberta";

}

publicvoid Desconectar()

{

c.Close();

Status = "Conexo Fechada";

}

 

No formulário sempre usei o seguinte

Conexao cx = new Conexao()

 

por exemplo:

privatevoid ListarUsuarios()

{

string sql = "";

sql +=

" Select idUsuario, NomeUsuario, DataCad, NivelAcesso From TbLogon ";

sql +=

" Order by NomeUsuario ";

cx.Conectar();

da = newSqlDataAdapter(sql, cx.c);

da.Fill(ds, "TbLogon");

dgvListarUsuario.DataSource = ds.Tables["TbLogon"];

cx.Desconectar();

———

 

Mas comprei um DVD que contém um aplicativo que estou tentando aprender na prática, só que ele usa Ole para um arquivo Acess e usa conforme abaixo:

using (con = Acesso.GetConnection())

e lá no Acesso está conforme abaixo:

 

public static OleDbConnection

GetConnection()

{

string caminhoBD = getCaminho();

caminhoBD = caminhoBD + "\\Dados\\financas.mdb";

string strConexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + caminhoBD + ";Mode=ReadWrite;Persist Security Info=False";

//Retorna uma conexão.

returnnewOleDbConnection (strConexao);

}

//fim getconnection

 

 Como faço para substituir por SQLServer?

 

Alguém pode me ajudar?

Sem tags


About the C# Brasil Forum

O fuso horário do Fórum:UTC -3

Maior Número de Usuários Online: 31

Online Agora:
5 Visitantes

Atualmente navegando Tópico:
1 Visitante

Estatísticas do Fórum:

Grupos: 1
Fóruns: 16
Tópicos: 183
Editorias: 379

Grupo de Usuários:

Existem 1672 Membros

Existem 3 Admins

Participantes mais ativos:

Gabriel Gomes – 14
Lucas Bessa – 7
listmaier – 7
Diego Canedo – 7
Anderson Bernardi – 7
Mauricio Naozuka – 6

Novos Membros Recentes: alexander, tfbarbosa, sandro.herbst, Eric Humberto, Francismar, saulop4

Administradores: Raphael Cardoso (87 Mensagens), Rodrigo Coimbra (5 Mensagens), Thiago Suzuki (4 Mensagens)