Gravar Data vazia no MySQL
11/04/2011
0
CREATE TABLE IF NOT EXISTS tbl_internos ( `id` int(6) NOT NULL AUTO_INCREMENT, `nome` varchar(60) NOT NULL, `data_nasc` date DEFAULT NULL, `cpf` varchar(16) DEFAULT NULL, `rg` varchar(12) DEFAULT NULL, `cep` varchar(12) DEFAULT NULL, `endereco` varchar(50) DEFAULT NULL, `numero` varchar(6) DEFAULT NULL, `complemento` varchar(20) DEFAULT NULL, `bairro` varchar(20) DEFAULT NULL, `cidade` varchar(30) DEFAULT NULL, `uf` varchar(2) DEFAULT NULL, `data_admissao` date DEFAULT NULL, `pai` varchar(50) DEFAULT NULL, `mae` varchar(50) DEFAULT NULL, `obs` varchar(254) DEFAULT NULL, `idpresidio` smallint(6) DEFAULT '1', `foto` longblob, `tipo_foto` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `nome` (`nome`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
No primeiro cadastro, entro com nome, data_nasc, e foto, os demais ficam em brnaco, porem me paresenta esses erro no cadastro:
String was not recognized as a valid DateTime.Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.FormatException: String was not recognized as a valid DateTime.
Source Error:
Line 204: cmd.Parameters.AddWithValue("@cidade", txtCidade.Text);
Line 205: cmd.Parameters.AddWithValue("@uf", txtUF.Text);
Line 206: cmd.Parameters.AddWithValue("@data_admissao", Convert.ToDateTime(txtDataBatismo.Text, DateTimeFormatInfo.InvariantInfo));
Line 207: cmd.Parameters.AddWithValue("@pai", txtNomePai.Text);
Line 208: cmd.Parameters.AddWithValue("@mae", txtNomeMae);
Source File: C:\Users\paulo\Documents\Visual Studio 2010\Projects\ShalomSede\IPCMS\CadastroDeInternos.aspx.cs Line: 206
Stack Trace:
Meu procedimento:
#region "Gravadando os Dados" private void SalvarComFoto() { byte[] img = FileUpload1.FileBytes; string tipo_foto = FileUpload1.PostedFile.ContentType;
MySqlConnection Conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["Conexao"].ConnectionString); MySqlCommand cmd = new MySqlCommand();
string strSQL = "insert into membros ( nome, data_nasc, cpf, rg, cep, endereco, numero, complemento, " + "bairro, cidade, uf, data_admissao, pai, mae, obs, idpresidio, foto, tipo_foto) " + "values (upper(@nome), @data_nasc, @cpf, @rg, @cep, @endereco, @numero, @complemento, @bairro, @cidade, " + "@uf, @data_admissao, "@pai, @mae, @obs, @idpresidio, @foto, @tipo_foto)";
cmd.Parameters.AddWithValue("@nome", txtNome.Text); cmd.Parameters.AddWithValue("@data_nasc", Convert.ToDateTime(txtDataNasc.Text, DateTimeFormatInfo.InvariantInfo)); cmd.Parameters.AddWithValue("@cpf", txtCPF.Text); cmd.Parameters.AddWithValue("@rg", txtRG.Text); cmd.Parameters.AddWithValue("@cep", txtCEP.Text); cmd.Parameters.AddWithValue("@endereco", txtEndereco.Text); cmd.Parameters.AddWithValue("@numero", txtNumero.Text); cmd.Parameters.AddWithValue("@complemento", txtComplemento.Text); cmd.Parameters.AddWithValue("@bairro", txtBairro.Text); cmd.Parameters.AddWithValue("@cidade", txtCidade.Text); cmd.Parameters.AddWithValue("@uf", txtEstado.Text); cmd.Parameters.AddWithValue("@data_admissao", Convert.ToDateTime(txtDataAdmissao.Text, DateTimeFormatInfo.InvariantInfo)); cmd.Parameters.AddWithValue("@pai", txtPai.Text); cmd.Parameters.AddWithValue("@mae", txtMae.Text); cmd.Parameters.AddWithValue("@obs", txtObs.Text); cmd.Parameters.AddWithValue("@idpresidio", dpPresidios.SelectedValue); cmd.Parameters.AddWithValue("@foto", img); cmd.Parameters.AddWithValue("@tipo_foto", tipo_foto);
try { cmd.Connection = Conn; cmd.CommandText = strSQL; cmd.CommandType = CommandType.Text; Conn.Open(); cmd.ExecuteNonQuery(); LimparCampos(); } catch (MySqlException ex) { Response.Write(ex.ToString()); } finally { cmd.Dispose(); Conn.Close(); lblMensagem.Text = "Gravado com sucesso !!!"; } }
O mesmo ocorre com Data de Nascimento mesmo sendo nulo.
Agradeço qualquer ajuda.
Paulo Freire
Posts
11/04/2011
Paulo Freire
CREATE TABLE IF NOT EXISTS tbl_internos ( `id` int(6) NOT NULL AUTO_INCREMENT, `nome` varchar(60) NOT NULL, `data_nasc` date DEFAULT NULL, `cpf` varchar(16) DEFAULT NULL, `rg` varchar(12) DEFAULT NULL, `cep` varchar(12) DEFAULT NULL, `endereco` varchar(50) DEFAULT NULL, `numero` varchar(6) DEFAULT NULL, `complemento` varchar(20) DEFAULT NULL, `bairro` varchar(20) DEFAULT NULL, `cidade` varchar(30) DEFAULT NULL, `uf` varchar(2) DEFAULT NULL, `data_admissao` date DEFAULT NULL, `pai` varchar(50) DEFAULT NULL, `mae` varchar(50) DEFAULT NULL, `obs` varchar(254) DEFAULT NULL, `idpresidio` smallint(6) DEFAULT '1', `foto` longblob, `tipo_foto` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `nome` (`nome`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
No primeiro cadastro, entro com nome, data_nasc, e foto, os demais ficam em brnaco, porem me paresenta esses erro no cadastro:
String was not recognized as a valid DateTime.Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.FormatException: String was not recognized as a valid DateTime.
Source Error:
Line 204: cmd.Parameters.AddWithValue("@cidade", txtCidade.Text);
Line 205: cmd.Parameters.AddWithValue("@uf", txtUF.Text);
Line 206: cmd.Parameters.AddWithValue("@data_admissao", Convert.ToDateTime(txtDataAdmissao.Text, DateTimeFormatInfo.InvariantInfo));
Line 207: cmd.Parameters.AddWithValue("@pai", txtNomePai.Text);
Line 208: cmd.Parameters.AddWithValue("@mae", txtNomeMae);
Source File: C:\Users\paulo\Documents\Visual Studio 2010\Projects\ShalomSede\IPCMS\CadastroDeInternos.aspx.cs Line: 206
Stack Trace:
Meu procedimento:
#region "Gravadando os Dados" private void SalvarComFoto() { byte[] img = FileUpload1.FileBytes; string tipo_foto = FileUpload1.PostedFile.ContentType;
MySqlConnection Conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["Conexao"].ConnectionString); MySqlCommand cmd = new MySqlCommand();
string strSQL = "insert into membros ( nome, data_nasc, cpf, rg, cep, endereco, numero, complemento, " + "bairro, cidade, uf, data_admissao, pai, mae, obs, idpresidio, foto, tipo_foto) " + "values (upper(@nome), @data_nasc, @cpf, @rg, @cep, @endereco, @numero, @complemento, @bairro, @cidade, " + "@uf, @data_admissao, "@pai, @mae, @obs, @idpresidio, @foto, @tipo_foto)";
cmd.Parameters.AddWithValue("@nome", txtNome.Text); cmd.Parameters.AddWithValue("@data_nasc", Convert.ToDateTime(txtDataNasc.Text, DateTimeFormatInfo.InvariantInfo)); cmd.Parameters.AddWithValue("@cpf", txtCPF.Text); cmd.Parameters.AddWithValue("@rg", txtRG.Text); cmd.Parameters.AddWithValue("@cep", txtCEP.Text); cmd.Parameters.AddWithValue("@endereco", txtEndereco.Text); cmd.Parameters.AddWithValue("@numero", txtNumero.Text); cmd.Parameters.AddWithValue("@complemento", txtComplemento.Text); cmd.Parameters.AddWithValue("@bairro", txtBairro.Text); cmd.Parameters.AddWithValue("@cidade", txtCidade.Text); cmd.Parameters.AddWithValue("@uf", txtEstado.Text); cmd.Parameters.AddWithValue("@data_admissao", Convert.ToDateTime(txtDataAdmissao.Text, DateTimeFormatInfo.InvariantInfo)); cmd.Parameters.AddWithValue("@pai", txtPai.Text); cmd.Parameters.AddWithValue("@mae", txtMae.Text); cmd.Parameters.AddWithValue("@obs", txtObs.Text); cmd.Parameters.AddWithValue("@idpresidio", dpPresidios.SelectedValue); cmd.Parameters.AddWithValue("@foto", img); cmd.Parameters.AddWithValue("@tipo_foto", tipo_foto);
try { cmd.Connection = Conn; cmd.CommandText = strSQL; cmd.CommandType = CommandType.Text; Conn.Open(); cmd.ExecuteNonQuery(); LimparCampos(); } catch (MySqlException ex) { Response.Write(ex.ToString()); } finally { cmd.Dispose(); Conn.Close(); lblMensagem.Text = "Gravado com sucesso !!!"; } }
O mesmo ocorre com Data de Nascimento mesmo sendo nulo.
Agradeço qualquer ajuda.
11/04/2011
Evandro Lopes
11/04/2011
Paulo Freire
MySql.Data.MySqlClient.MySqlException (0x80004005): Incorrect date value: '12/04/2011' for column 'data_nasc' at row 1 at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
11/04/2011
Evandro Lopes
11/04/2011
André Lima
object dataAdmissao = DBNull.Value; if (!txtDataAdmissao.Text.Equals(string.Empty)) dataAdmissao = Convert.ToDateTime(txtDataAdmissao.Text, DateTimeFormatInfo.InvariantInfo); cmd.Parameters.AddWithValue("@data_admissao", dataAdmissao);
11/04/2011
Evandro Lopes
object dataAdmissao = DBNull.Value; if (!txtDataAdmissao.Text.Equals(string.Empty)) { //Antes de converter, verificar se a data é uma data Valida bool resultadoVerificacao = true; DateTime dtAdmissao; resultadoVerificacao = DateTime.TryParse(txtDataAdmissao.Text, out dtAdmissao); if(resultadoVerificacao) dataAdmissao = dtAdmissao; else //vc exibe o erro da data invalida para o usuario } cmd.Parameters.AddWithValue("@data_admissao", dataAdmissao);
11/04/2011
Evandro Lopes
object dataAdmissao = DBNull.Value; if (!txtDataAdmissao.Text.Equals(string.Empty)) { //Antes de converter, verificar se a data é uma data Valida bool resultadoVerificacao = true; DateTime dtAdmissao; resultadoVerificacao = DateTime.TryParse(txtDataAdmissao.Text, out dtAdmissao); if(resultadoVerificacao) dataAdmissao = dtAdmissao; else //vc exibe o erro da data invalida para o usuario } cmd.Parameters.AddWithValue("@data_admissao", dataAdmissao);
12/04/2011
Paulo Freire
12/04/2011
Evandro Lopes
12/04/2011
Paulo Freire
Clique aqui para fazer login e interagir na Comunidade :)