Inquiridor
Onde declaro a strconexão de forma unica para todos os botões e metodos a utilizem ?

Pergunta
-
Onde declaro a strConexão de maneira única, para que: a inclusão, alteração exclusão e demais botões e metodos possam funcionar ?
dá sempre o mesmo erro quando vai abrir a conexão em cada botão ou método
objConexao.Open()
The ConnectionString property has not been initialized.
Imports
System.DataImports
System.Data.OleDbPartial
Class _Default Inherits System.Web.UI.Page Dim objConexao As OleDbConnection Public Modulo As Global._Default Dim strConexao As String Dim blnSetafoco As BooleantxtNome.Attributes.Add(
"onFocus", "__doPostBack('txtNomeCliente','onFocus')") ElsetxtNome.Attributes.Add(
"onFocus", "") End If End If End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadModulo =
New Global._DefaultobjConexao =
New OleDbConnectionSession(
"conexao") = objConexaoGeracomboEmpregados()
End Sub Private Sub Limpatela()comboEmpregados.Visible =
TruetxtNome.Text =
" "txtprofissao.Text =
" "comboEmpregados.SelectedValue = -1
End Sub Protected Sub cmdincluir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdincluir.Click Dim objComando As OleDbCommand Dim strSql As String Dim intlinhas As Integer Dim objTransacao As OleDbTransaction Dim blnTransacao As Boolean = FalsestrConexao =
"Provider=Microsoft.JET.OLEDB.4.0;" & _ "Data Source =C:\Documents and Settings\Administrador\Desktop\cristiano\bd2.mdb" '"Data Source =C:\Documents and Settings\Administrador\Meus documentos\Visual Studio 2008\Projects\WebSite3\bd2.mdb".ConnectionString = strConexao
.Open()
End WithstrSql =
"INSERT INTO empregado" & vbCrLf & _ "(nome,profissao)" & vbCrLf & _ " VALUES (' " & txtNome.Text & " ',' " & txtprofissao.Text & " ') "objComando =
New OleDbCommandobjComando.Connection = objConexao
objComando = objConexao.CreateCommand
If objComando.Connection.State <> ConnectionState.Open ThenobjConexao.ConnectionString = strConexao
objConexao.Open()
End IfobjTransacao = objConexao.BeginTransaction
blnTransacao =
True With objComando.Transaction = objTransacao
.CommandType = CommandType.Text
.CommandText = strSql
intlinhas = .ExecuteNonQuery
End WithobjTransacao.Commit()
blnTransacao =
False Call Limpatela()objComando =
NothingStrSql =
"SELECT codigo, " & vbCrLf & _ " nome " & vbCrLf & _ " FROM empregado"objConexao.Open()
End Ifobjcomando = objConexao.CreateCommand
With objcomando.CommandText = StrSql
.CommandType = CommandType.Text
objLeitura = .ExecuteReader
End With With objLeituracomboEmpregados.Items.Clear()
comboEmpregados.Items.Add(
"CADASTRE EMPREGADO")comboEmpregados.Items.FindByText(
"CADASTRE EMPREGADO").Value = -1 While .ReadcomboEmpregados.Items.Add(.Item(
"nome"))comboEmpregados.Items.FindByText(.Item(
"nome")).Value = .Item("codigo") End WhilecomboEmpregados.Items.Add(
" ")comboEmpregados.Items.FindByText(
" ").Value = -2comboEmpregados.SelectedValue = -1
End WithobjConexao.Close()
GeracomboEmpregados()
End If End Sub Protected Sub comboEmpregados_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles comboEmpregados.SelectedIndexChanged If comboEmpregados.SelectedValue = -1 ThentxtNome.Visible =
TruecomboEmpregados.Visible =
False ElsetxtNome.Visible =
FalsecomboEmpregados.Visible =
TrueRecuperaCodigo()
End If End Sub Private Sub RecuperaCodigo() If comboEmpregados.SelectedValue = -2 Thentxtcodigo.Text =
" "txtNome.Text =
" "txtprofissao.Text =
" " Elsetxtcodigo.Text = comboEmpregados.SelectedValue
'Dim intI As Integer 'Dim intTotal As Integer Dim objComando As OleDbCommand Dim objLeitura As OleDbDataReader Dim StrSql As String ' Dim intlinhas As Integer ' strConexao = "Provider=Microsoft.JET.OLEDB.4.0;" & _ ' "Data Source =C:\Documents and Settings\Administrador\Desktop\cristiano\bd2.mdb" ' With objConexao '.ConnectionString = strConexao ' .Open() ' End WithStrSql =
" SELECT * " & vbCrLf & _ " FROM empregado " & vbCrLf & _ " WHERE codigo = " & txtcodigo.TextobjConexao.Open()
End IfobjComando = objConexao.CreateCommand
.CommandText = StrSql
.CommandType = CommandType.Text
objLeitura = .ExecuteReader
End With With objLeitura If .Read ThentxtNome.Text = .Item(
"nome")txtprofissao.Text = .Item(
"profissao") End If End WithobjConexao.Close()
End If End Sub Protected Sub cmdAlterar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdAlterar.Click Dim objComando As OleDbCommand ' Dim strConexao As String Dim strSql As String Dim intlinhas As Integer Dim objTransacao As OleDbTransaction Dim blnTransacao As Boolean = False ' strConexao = "Provider=Microsoft.JET.OLEDB.4.0;" & _ ' "Data Source =C:\Documents and Settings\Administrador\Desktop\cristiano\bd2.mdb" ' With objConexao ' .ConnectionString = strConexao ' .Open() ' End WithstrSql =
" UPDATE empregado " & vbCrLf & _ " SET nome =' " & txtNome.Text & " ', " & vbCrLf & _ " profissao = ' " & txtprofissao.Text & " ' " & vbCrLf & _ " WHERE codigo = " & txtcodigo.TextobjComando =
New OleDbCommandobjComando.Connection = objConexao
objComando = objConexao.CreateCommand
If objConexao.State <> ConnectionState.Open ThenobjConexao.ConnectionString = strConexao
objConexao.Open()
End IfobjTransacao = objConexao.BeginTransaction
blnTransacao =
True.Transaction = objTransacao
.CommandType = CommandType.Text
.CommandText = strSql
intlinhas = .ExecuteNonQuery()
End WithobjTransacao.Commit()
blnTransacao =
FalseobjComando =
NothingStrSql =
" DELETE * from empregado" & vbCrLf & _ " WHERE codigo = " & txtcodigo.TextobjComando =
New OleDbCommandobjComando.Connection = objConexao
objComando = objConexao.CreateCommand
If objConexao.State <> ConnectionState.Open ThenobjConexao.ConnectionString = strConexao
objConexao.Open()
End IfobjTransacao = objConexao.BeginTransaction
blnTransacao =
True With objComando.Transaction = objTransacao
.CommandText = StrSql
.CommandType = CommandType.Text
intLinhas = .ExecuteNonQuery
End WithobjTransacao.Commit()
blnTransacao =
False With comboEmpregados.Items.RemoveAt(.SelectedIndex)
End With Call Limpatela() End SubEnd
Class
Todas as Respostas
-
-
Experimenta usar o web.config e acessar a string de conexão de lá. É melhor porque fica visível na aplicação inteira e você pode alterar direto no arquivo web.config sem ter que mexer no .vb e compilar de novo.
Adicione a chave no web.config da seguinte forma:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<
connectionStrings><
add name="ConexaoBanco" connectionString="Provider=Microsoft.JET.OLEDB.4.0; Data Source =C:\Documents and Settings\Administrador\Desktop\cristiano\bd2.mdb" providerName="System.Data.OleDb"/></connectionStrings>
</configuration>
Acesse o valor do web.config da seguinte forma de qualquer lugar da aplicação:
With objConexao
.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("ConexaoBanco").ConnectionString
.Open()
End With
Espero ter ajudado
Abraço