Usuário com melhor resposta
Insert no bd Mysql com if e else

Pergunta
-
Pessoal Boa tarde.
Sou novo na área e estou aprendendo if e else com insert.Estou tentando fazer algo assim
1 º preciso verificar se um campo no banco de dados está null
Se sim : faz um insert no banco
Senão faz um insert em outro campo mas da mesma tabela
Estou tentando fazer desta forma , mas nao vai
{
if (e.KeyCode == Keys.Enter)
{
string conn = ConfigurationManager.ConnectionStrings["MySQLConnectionString"].ToString();
MySqlConnection conexao = new MySqlConnection(conn);
try
{
conexao.Open();
MySqlCommand comando = new MySqlCommand();
comando = conexao.CreateCommand();
comando.CommandText = "UPDATE recebimentofiscal SET hora_real_fiscal = CASE WHEN hora_real_fiscal IS NULL THEN '" + DateTime.Now.ToString("hh:mm:ss") + "' ELSE hora_real_fiscal end where lcase(transportadora) = lcase('" + txtpesquisa.Text + "');";
int valorRetorno = comando.ExecuteNonQuery();
txtpesquisa.Text = string.Empty;
}
catch (MySqlException msqle)
{
MessageBox.Show("Erro de acesso ao banco de dados" + msqle.Message, "Erro");
}
finally
{
conexao.Close();
}
}
Respostas
-
Olá, para que a sua condição IF/ELSE funcione corretamente você precisa declarar essa condição na sintaxe do código.
try
{
conexao.Open();
MySqlCommand comando = new MySqlCommand();
comando = conexao.CreateCommand();
//
Realize primeiro um SELECT na tabela procurando pelo campo NULO
comando.CommandText = "SELECT * FROM RECEBIMENTOFISCAL WHERE HORA_REAL_FISCAL IS NULL";
var RESULTADO = comando.ExecuteNonQuery();
//CONDICAO ONDE O CAMPO É NULO
if(RESULTADO)
{
comando.CommandText = "UPDATE recebimentofiscal SET hora_real_fiscal = '" + DateTime.Now.ToString("hh:mm:ss") + ";
comando.ExecuteNonQuery();
}
else
{
comando.CommandText = "UPDATE recebimentofiscal SET hora_real_fiscal = '" + txtpesquisa.Text + "';
comando.ExecuteNonQuery();
}
txtpesquisa.Text = string.Empty;
}
catch (MySqlException msqle)
{
MessageBox.Show("Erro de acesso ao banco de dados" + msqle.Message, "Erro");
}
finally
{
conexao.Close();
}Leandro de Agostini MCTS - Web Application, Framework 4
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 30 de maio de 2018 22:29
Todas as Respostas
-
Olá, para que a sua condição IF/ELSE funcione corretamente você precisa declarar essa condição na sintaxe do código.
try
{
conexao.Open();
MySqlCommand comando = new MySqlCommand();
comando = conexao.CreateCommand();
//
Realize primeiro um SELECT na tabela procurando pelo campo NULO
comando.CommandText = "SELECT * FROM RECEBIMENTOFISCAL WHERE HORA_REAL_FISCAL IS NULL";
var RESULTADO = comando.ExecuteNonQuery();
//CONDICAO ONDE O CAMPO É NULO
if(RESULTADO)
{
comando.CommandText = "UPDATE recebimentofiscal SET hora_real_fiscal = '" + DateTime.Now.ToString("hh:mm:ss") + ";
comando.ExecuteNonQuery();
}
else
{
comando.CommandText = "UPDATE recebimentofiscal SET hora_real_fiscal = '" + txtpesquisa.Text + "';
comando.ExecuteNonQuery();
}
txtpesquisa.Text = string.Empty;
}
catch (MySqlException msqle)
{
MessageBox.Show("Erro de acesso ao banco de dados" + msqle.Message, "Erro");
}
finally
{
conexao.Close();
}Leandro de Agostini MCTS - Web Application, Framework 4
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 30 de maio de 2018 22:29
-
Boa tarde,
Por falta de retorno essa thread está encerrada.
Se necessário, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.