Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Almir Julio Grizante

Erro ao solicitar alteração

Recommended Posts

Pessoal

 

no codigo fonte do programa anexo a inclusão esta funcionando corretamente , mas na alteração esta da erro , alguem poderia ver onde esta o erro pra mim.. ja converti para a função nativa do mysql a data, ja fiz de tudo ..

 

acredito que seja algum erro na sintaxe

 

o link do programa é esse

 

https://skydrive.live.com/redir.aspx?cid=871760ff201287a8&resid=871760FF201287A8!157

 

 

aguardo ajuda

 

o script do banco de dados MYSQL esta dentro da pasta e a senha do bd é 2525

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz umas alterações no codigo

 

 

Na inclusão esta funcionando corretamente, inclementei usando a função nativa do Mysql (str_to_date), na inclusão

criei uma variável valor e um if para que quando o campo nascto esposa não fosse digitado uma data, o banco de dados recebe o valor Null, pois o cliente pode ser solteiro e nesse caso não ha necessidade de preencher o nome de esposa e nem data de nascto dela.

 

na alteração. mas desde que ja tivesse uma data do conjugue quando na inclusão , mas não é isso que tem que ocorrer pois pode ocorrer a alteração num cliente que é solteiro.sem a necessidade do preenchimento da data de nascto da esposa.

 

seguindo a mesma "teoria" na inclusão criei uma variavel para atribuir novamente valor Null quando a data nascto esposa não fosse preenchida. mas esta retornando esse erro.

 

 

 

Incorrect date value: 'NULL,' for column 'nasctoconjugue' at row 1

 

 

será que esta correto a informação de campo null na inclusão ?

 

valor = "NULL,";

 

 

o codigo alterado esta nesta pasta

 

http://pastebin.com/wGzqvN5V

 

desde já

 

muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

implementei aqui na inclusao funcionou corretamente, agora só preciso descobrir qual o erro da sintaxe na alteração pois esta retornando esse erro

 

com certeza deve ser a forma como estou jogando a variavel valordtcj no update.

 

se alguém mostrar onde esta o erro, termino essa parte do estudo.

 

 

 

 

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fone = '' where codigocliente = '31'' at line 1

 

 

 

 

 

string valordtcj = string.Empty;

 

 

if (mtbDataNasctoEsposa.Text.Length == 10)

{

 

valordtcj =

 

"str_to_date(\'" + mtbDataNasctoEsposa.Text + "\', '%d/%m/%Y'), ";

 

 

}

 

 

 

else

{

 

valordtcj =

 

"null";

}

 

 

 

 

 

string sqlUpdate = "update tbcadastro set " +

 

 

"cliente ='" + txtNome.Text.Trim() + "'," +

 

 

"nascto = str_to_date(\'" + mtbDataNascto.Text + "\', '%d/%m/%Y'), " +

 

 

"conjugue = '" + txtNomeEsposa.Text + "'," +

 

 

"nasctoconjugue = " + valordtcj + "," +

 

 

"fone = \'" + txtFone.Text + "\' " +

 

 

" where codigocliente = \'" + dtgCadastro.CurrentRow.Cells[0].Value.ToString() + "\'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz umas alterações

 

codigo fonte

 

https://skydrive.live.com/redir.aspx?cid=871760ff201287a8&resid=871760FF201287A8!157

 

 

erro que retorna

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fone = '2' where codigocliente = '18'' at line 1

 

o engraçado que ele só da erro se inserir a data completa do nascto do conjugue

 

private void btnGrava_Click(object sender, EventArgs e)

{

 

 

{

if (txtNome.Text == string.Empty &&

mtbDataNascto.Text == string.Empty)

{

MessageBox.Show("Campos Nome e Data Nascto Obrigatórios", "Mensagem");

return;

}

 

}

string valordtcj = string.Empty;

 

if (mtbDataNasctoEsposa.Text.Length <10)

{

valordtcj = "null";

}

else

{

valordtcj = "str_to_date(\'" + mtbDataNasctoEsposa.Text + "\', '%d/%m/%Y'), ";

}

 

string sqlUpdate = "update tbcadastro set " +

"cliente ='" + txtNome.Text.Trim() + "'," +

"nascto = str_to_date(\'" + mtbDataNascto.Text + "\', '%d/%m/%Y'), " +

"conjugue = '" + txtNomeEsposa.Text + "'," +

"nasctoconjugue = " + valordtcj + "," +

"fone = \'" + txtFone.Text + "\' " +

" where codigocliente = \'" +

dtgCadastro[0, linhaClick].Value.ToString() + "\'";

 

 

 

MySqlCommand cmdAlterar = new MySqlCommand(sqlUpdate, dbConexao);

cmdAlterar.ExecuteNonQuery();

MessageBox.Show("Registro Alterado com Sucesso!!!", "Mensagem");

limpar();

 

atualizaGrid();

 

btnExcluir.Enabled = false;

btnAlterar.Enabled = false;

btnNovo.Enabled = true;

btnCancelar.Enabled = false;

btnGrava.Enabled = false;

travaJanelas();

txtNome.Focus();

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu problema é de instrução sql e não de .net. Você deve pegar o retorno de sua string e postar no fórum de mysql pro pessoal te orientar como arruma-la. Podemos ate tentar aqui, basta você postar o resultado de sua string.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.