ERRO CODIGO CADASTRO

BRUNOGOMES 12/10/2012 20:20:01
#411964
Filma.. esses ajustes q vc fez, nao ajudam a resolver o meu problema que é o seguinte:

A parte de cadastro esta tudo ok!
o unico problema é que quando eu n digito nada no campo razao social e clico em salvar, aparece a msgbox dizendo q precisa inserir a razao social e n salva nada tabela fornecedor, mas esta salvando na tabela endereco..
Quero saber como faço para nao salvar em nenhuma das tabelas quando n for digitado o razao social
OMAR2011 12/10/2012 22:48:39
#411968
Acho que o ADHEL tem razão.
O que você tem que fazer é colocar o código do [txt-color=#e80000]btnSalvar()[/txt-color] para
verificar o que está acontecendo.
Post o código do btnSalvar().
BRUNOGOMES 12/10/2012 23:20:59
#411971
btnsalvar() soh faiz isso daqui:

Sub btnSalvar()
lbl_valortext.Enabled = False
txt_Hora.Enabled = False
txt_descricao.Enabled = False
DateTimePicker1.Enabled = False
cmb_Servico.Enabled = False
cmb_Veiculo.Enabled = False
cmb_Mecanico.Enabled = False
btn_Adicionar.Enabled = True
btn_Salvar.Enabled = False
End Sub
OMAR2011 13/10/2012 10:29:22
#411988
Private Sub btn_Salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Salvar.Click
Isto vem antes de todo código para bloquear CAMPO VAZIO,
If txt_razao.Text.Trim = [Ô][Ô] Then
MsgBox([Ô]Campo razão vazio[Ô], MsgBoxStyle.Information, [Ô]Campo Vazio[Ô])
txtCodigo.Focus()
Exit Sub
ElseIf txt_Nome.Text.Trim = [Ô][Ô] Then
MsgBox([Ô]Campo nome vazio[Ô], MsgBoxStyle.Information, [Ô]Campo Vazio[Ô])
txtNome.Focus()
Exit Sub
End If

assim com todos os campos que não queira ele como vazio.

Mais embaixo marcado de vermelho é onde não grava na tabela [txt-color=#e80000]Fornecedor[/txt-color].

btnSalvar()
lbl_cadastroText.Text = DateTime.Now.ToString([Ô]g[Ô])
Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
Dim cmd As New MySqlCommand
Dim reader As MySqlDataReader
cmd = con.CreateCommand
con.Open()

With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = [Ô]SELECT cod_Endereco FROM endereco WHERE cod_Endereco = (SELECT MAX(cod_Endereco) FROM endereco)[Ô]
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codEndereco = reader([Ô]cod_Endereco[Ô])
reader.Close()
End If
con.Close()

con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = [Ô]INSERT INTO endereco (cod_Endereco, cep_Endereco, nome_Endereco, numero_Endereco, complemento_Endereco, bairro_Endereco, cidade_Endereco, uf_Endereco, pais_Endereco) VALUES (@codendereco, @cep, @end, @num, @compl, @bairro, @cidade, @uf, @pais)[Ô]
.Parameters.Add([Ô]@codendereco[Ô], MySqlDbType.Int32)
.Parameters([Ô]@codendereco[Ô]).Value = codEndereco + 1
.Parameters.Add([Ô]@cep[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@cep[Ô]).Value = txt_cep.Text
.Parameters.Add([Ô]@end[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@end[Ô]).Value = txt_Endereco.Text
.Parameters.Add([Ô]@num[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@num[Ô]).Value = txt_numero.Text
.Parameters.Add([Ô]@compl[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@compl[Ô]).Value = txt_complemento.Text
.Parameters.Add([Ô]@bairro[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@bairro[Ô]).Value = txt_bairro.Text
.Parameters.Add([Ô]@cidade[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@cidade[Ô]).Value = txt_cidade.Text
.Parameters.Add([Ô]@uf[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@uf[Ô]).Value = txt_uf.Text
.Parameters.Add([Ô]@pais[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@pais[Ô]).Value = txt_pais.Text
.ExecuteNonQuery()
End With
con.Close()

con.Open()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = [Ô]SELECT cod_Endereco FROM endereco WHERE cod_Endereco = (SELECT MAX(cod_Endereco) FROM endereco)[Ô]
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codEndereco = reader([Ô]cod_Endereco[Ô])
reader.Close()
End If
con.Close()

con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = [Ô]INSERT INTO fornecedor (razaosocial_Fornecedor, nome_Fornecedor, contato_Fornecedor, observacoes_Fornecedor, horadata_Fornecedor, CNPJ_Fornecedor, telComercial_Fornecedor, fax_Fornecedor, email_Fornecedor, cod_Endereco) VALUES (@razao, @nome, @contato, @obs, @horadata, @cnpj, @telcomercial, @fax, @email, @codend)[Ô]
.Parameters.Add([Ô]@razao[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@razao[Ô]).Value = txt_razao.Text
.Parameters.Add([Ô]@nome[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@nome[Ô]).Value = txt_Nome.Text
.Parameters.Add([Ô]@contato[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@contato[Ô]).Value = txt_Contato.Text
.Parameters.Add([Ô]@obs[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@obs[Ô]).Value = txt_obs.Text
.Parameters.Add([Ô]@horadata[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@horadata[Ô]).Value = lbl_cadastroText.Text
.Parameters.Add([Ô]@cnpj[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@cnpj[Ô]).Value = txt_cnpj.Text
.Parameters.Add([Ô]@telcomercial[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@telcomercial[Ô]).Value = txt_comercial.Text
.Parameters.Add([Ô]@fax[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@fax[Ô]).Value = txt_fax.Text
.Parameters.Add([Ô]@email[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@email[Ô]).Value = txt_Email.Text
.Parameters.Add([Ô]@codend[Ô], MySqlDbType.Int32)
.Parameters([Ô]@codend[Ô]).Value = codEndereco

If txt_razao.Text = [Ô][Ô] Then
btnAdicionar()
MessageBox.Show([Ô]é necessário que todos os campos com * sejam preenchidos![Ô], [Ô]Aviso[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
[txt-color=#e80000]con.Close [/txt-color]
[txt-color=#e80000]Você fechou a conexão com o Banco,por isso não grava.[/txt-color]
Else
cmd.ExecuteNonQuery()
MessageBox.Show([Ô]Fornecedor cadastrado com sucesso![Ô], [Ô]Aviso[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
.CommandText = [Ô]SELECT cod_Fornecedor FROM fornecedor WHERE razaosocial_Fornecedor = @razao[Ô]
reader = cmd.ExecuteReader
reader.Read()
codFornecedor = reader.GetString([Ô]cod_Fornecedor[Ô])
lbl_cod.Text = codFornecedor
con.Close()
End If
con.Close()
End With
End Sub
BRUNOGOMES 13/10/2012 16:11:15
#412004
OMAR2011.. acho que vc nao entendeu minha duvida... No começo do topico estou explicando minha duvida...
A parte de cadastrar está tudo certo... O problema é o seguinte:

- Quando nao digito nada no campo txt_Razao.text e clico no botao salvar... O programa manda a mensagem:
MessageBox.Show([Ô]é necessário que todos os campos com * sejam preenchidos![Ô], [Ô]Aviso[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information) e ele volta para o form com os campos abertos para continuar e digitar algo no campo razao social... Nao é salvado nada no banco de dados na tabela fornecedor..

O problema é que ao exibir a mensagem e voltar pro form... No banco de dados está salvando os dados do endereco na tabela endereco... Eu quero q quando nao digite o razao social nao salve nada no banco de dados!!!
FILMAN 13/10/2012 16:54:50
#412005
Bom agora eu entendi o que você realmente quer!!

Me desculpa a má interpretação no entanto o código que pois melhora pouca coisa você ira evitar conectar novamente com o banco para retornar o ultimo código

utilize o código que postei só que sua pergunta e sendo feita depois que grava no banco o endereço então faça assim

Private Sub btn_Salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Salvar.Click
If txt_razao.Text = [Ô][Ô] Then
btnAdicionar()
MessageBox.Show([Ô]é necessário que todos os campos com * sejam preenchidos![Ô], [Ô]Aviso[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
txt_razao.Focus()
Exit Sub
End If

btnSalvar()
lbl_cadastroText.Text = DateTime.Now.ToString([Ô]g[Ô])
Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
Dim cmd As New MySqlCommand
Dim reader As MySqlDataReader
cmd = con.CreateCommand

con.Open()

With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = [Ô]SELECT cod_Endereco FROM endereco WHERE cod_Endereco = (SELECT MAX(cod_Endereco) FROM endereco)[Ô]
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codEndereco = reader([Ô]cod_Endereco[Ô])
reader.Close()
End If
cmd.Dispose()

With cmd
.CommandType = CommandType.Text
.CommandText = [Ô]INSERT INTO endereco (cod_Endereco, cep_Endereco, nome_Endereco, numero_Endereco, complemento_Endereco, bairro_Endereco, cidade_Endereco, uf_Endereco, pais_Endereco) VALUES (@codendereco, @cep, @end, @num, @compl, @bairro, @cidade, @uf, @pais)[Ô]
.Parameters.Add([Ô]@codendereco[Ô], MySqlDbType.Int32)
.Parameters([Ô]@codendereco[Ô]).Value = codEndereco + 1
.Parameters.Add([Ô]@cep[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@cep[Ô]).Value = txt_cep.Text
.Parameters.Add([Ô]@end[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@end[Ô]).Value = txt_Endereco.Text
.Parameters.Add([Ô]@num[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@num[Ô]).Value = txt_numero.Text
.Parameters.Add([Ô]@compl[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@compl[Ô]).Value = txt_complemento.Text
.Parameters.Add([Ô]@bairro[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@bairro[Ô]).Value = txt_bairro.Text
.Parameters.Add([Ô]@cidade[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@cidade[Ô]).Value = txt_cidade.Text
.Parameters.Add([Ô]@uf[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@uf[Ô]).Value = txt_uf.Text
.Parameters.Add([Ô]@pais[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@pais[Ô]).Value = txt_pais.Text
.ExecuteNonQuery()
.Dispose()
End With

With cmd
.CommandType = CommandType.Text
.CommandText = [Ô]INSERT INTO fornecedor (razaosocial_Fornecedor, nome_Fornecedor, contato_Fornecedor, observacoes_Fornecedor, horadata_Fornecedor, CNPJ_Fornecedor, telComercial_Fornecedor, fax_Fornecedor, email_Fornecedor, cod_Endereco) VALUES (@razao, @nome, @contato, @obs, @horadata, @cnpj, @telcomercial, @fax, @email, @codend)[Ô]
.Parameters.Add([Ô]@razao[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@razao[Ô]).Value = txt_razao.Text
.Parameters.Add([Ô]@nome[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@nome[Ô]).Value = txt_Nome.Text
.Parameters.Add([Ô]@contato[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@contato[Ô]).Value = txt_Contato.Text
.Parameters.Add([Ô]@obs[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@obs[Ô]).Value = txt_obs.Text
.Parameters.Add([Ô]@horadata[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@horadata[Ô]).Value = lbl_cadastroText.Text
.Parameters.Add([Ô]@cnpj[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@cnpj[Ô]).Value = txt_cnpj.Text
.Parameters.Add([Ô]@telcomercial[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@telcomercial[Ô]).Value = txt_comercial.Text
.Parameters.Add([Ô]@fax[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@fax[Ô]).Value = txt_fax.Text
.Parameters.Add([Ô]@email[Ô], MySqlDbType.VarChar)
.Parameters([Ô]@email[Ô]).Value = txt_Email.Text
.Parameters.Add([Ô]@codend[Ô], MySqlDbType.Int32)
.Parameters([Ô]@codend[Ô]).Value = codEndereco+1

.ExecuteNonQuery()
MessageBox.Show([Ô]Fornecedor cadastrado com sucesso![Ô], [Ô]Aviso[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
.CommandText = [Ô]SELECT cod_Fornecedor FROM fornecedor WHERE razaosocial_Fornecedor = @razao[Ô]
reader = cmd.ExecuteReader
reader.Read()
lbl_cod.Text = reader.GetString([Ô]cod_Fornecedor[Ô])
reader.Close()
.Dispose()
End With

con.Close()
End Sub



Repare que a pergunta fica acima das execuções caso não tenha preenchido a Razão não faz nada sai com o Exit Sub
BRUNOGOMES 13/10/2012 17:21:47
#412006
que bom q entendeu minha duvida agora kkkkk
valeeu agora funcionou!! ;)

abraço!
Página 2 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas