CONVERTER VALOR DE TEXTBOX EM DATA

VIVIANE 25/01/2013 14:16:38
#418115
Boa tarde a todos.
Sou iniciante em programação e estou com um problema. Eu tenho em meu form 08 textBox onde o usuário coloca informações e elas aparecem em uma listview. Uma das textBox é um campo chamado Data em que o usuário vai colocar a data que está cadastrando as informações o problema é que eu não estou conseguindo converter esse campo para data, ele não aceita a / nem - só aceita numeros e letras. Já procurei vários artigos na internet que mostra a conversão mais nenhum deu certo. Depois do usuário digitar as informações elas serão salvas direto no banco de dados.
Estou usando visual studio C# Windows Form

Alguém pode me ajudar por favor.
Desde já agradeço a atenção de todos.
GUIMORAES 25/01/2013 14:52:05
#418119
O campo que você está utilizando para digitar a data é um textbox?
Já tentou utilizar um maskedTextbox?
VIVIANE 25/01/2013 15:07:58
#418120
Tentei sim
Substitui a textBox pela maskedTextbox e continuou o erro.
Deu um print no erro pra vc dar um olhada.
Obrigada.

MADMAX 25/01/2013 15:19:31
#418121
Resposta escolhida
Viviane , posso esta errado mais o problema me parece que vc não esta formatando para entratada no banco , no sqlserver dependendo de como esta configurado a formatação de data não vai no formato dd/MM/yyy hh:mm:ss e sim yyyy-MM-dd hh:mm:ss verifica o formato no seu banco e na hora de realizar o insert vc converte ... coloca o codigo aonde vc recebe este erro talvez ajude mais a enteder o que esta ocorrendo ...
VIVIANE 25/01/2013 15:52:11
#418126
MADMAX no meu banco eu coloquei essa coluna com date. Eu não entendo muito bem ainda de SQL acredito que realmente o erro está no meu select vou postar o código com os selects.
Obrigada.

public partial class Código : Form
{
SqlConnection conex = new SqlConnection (@[Ô]Data Source=ADMIN02\SQLEXPRESS;Initial Catalog=Transferencia;Integrated Security=True[Ô]);
SqlCommand comando = new SqlCommand();
SqlDataReader reader;
string status;


public Código()
{
InitializeComponent();
InicializaListView();
comando.Connection = conex;
}

private void Código_Load(object sender, EventArgs e)
{
try
{
conex.Open();
status = [Ô]novo[Ô];
carregaDados();
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }

void carregaDados()
{
comando.CommandText = [Ô]SELECT * FROM Produtos WHERE Data ASC[Ô];
try
{
listView1.Items.Clear();
if (txtData1.Text==[Ô] [Ô])
{
comando.CommandText = [Ô]SELECT * FROM Produtos WHERE Data[Ô];
}
else
{
comando.CommandText = [Ô]SELECT * FROM Produtos WHERE Data LIKE[ô][Ô] + txtData1.Text + [Ô][ô][Ô];
}
reader = comando.ExecuteReader();
while (reader.Read())
{
ListViewItem list = new ListViewItem(reader[0].ToString());
list.SubItems.Add(reader[1].ToString());
list.SubItems.Add(reader[2].ToString());
list.SubItems.Add(reader[3].ToString());
list.SubItems.Add(reader[4].ToString());
list.SubItems.Add(reader[5].ToString());
list.SubItems.Add(reader[6].ToString());
list.SubItems.Add(reader[7].ToString());
list.SubItems.Add(reader[8].ToString());
listView1.Items.AddRange(new ListViewItem[] { list });
}
reader.Close();
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
}

private void salvar_Click(object sender, EventArgs e)
{
try
{
if (txtData.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe a data do lançamento[Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtData.Focus();
}

else if (txtCodigo.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe o código do produto[Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtCodigo.Focus();
}

else if (txtProduto.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe a descrição do produto[Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtProduto.Focus();
}
else if (txtMarca.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe a marca do produto[Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtMarca.Focus();
}
else if (txtUN.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe a unidade do produto[Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtUN.Focus();
}
else if (txtTransferir.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe a quantidade que foi solicitada a transferência[Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtTransferir.Focus();
}
else if (txtTransferida.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe a quantidade que será transferida [Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtTransferida.Focus();
}
else if (txtSaldo.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe o saldo do estoque depois da transferência[Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtSaldo.Focus();
}
else if (txtData.Text == [Ô][Ô])
{
MessageBox.Show([Ô]Informe a data da transferência[Ô], [Ô]Warning[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtCodigo.Focus();
}
else if (status == [Ô]novo[Ô])
{
comando.CommandText = [Ô]INSERT INTO Produtos(Codigo, Produto, Marca, UN, Transferir, Transferida, Saldo, Data)VALUES(@Codigo, @Produto, @Marca, @UN, @Transferir, @Transferida, @Saldo, @Data)[Ô];
comando.Parameters.Add([Ô]@Codigo[Ô], txtCodigo.Text);
comando.Parameters.Add([Ô]@Produto[Ô], txtProduto.Text);
comando.Parameters.Add([Ô]@Marca[Ô], txtMarca.Text);
comando.Parameters.Add([Ô]@UN[Ô], txtUN.Text);
comando.Parameters.Add([Ô]@Transferir[Ô], txtTransferir.Text);
comando.Parameters.Add([Ô]@Transferida[Ô], txtTransferida.Text);
comando.Parameters.Add([Ô]@Saldo[Ô], txtSaldo.Text);
comando.Parameters.Add([Ô]@Data[Ô], txtData.Text);
comando.ExecuteNonQuery();
comando.Dispose();
MessageBox.Show([Ô]Registro salvo com sucesso[Ô], [Ô]Salvar[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (status == [Ô]editar[Ô])
{
comando.CommandText = [Ô]UPDATE Produtos SET Codigo=[ô][Ô] + txtCodigo.Text + [Ô][ô], Produto=[ô][Ô] + txtProduto.Text + [Ô][ô], Marca=[ô][Ô] + txtMarca.Text + [Ô][ô], UN=[ô][Ô] + txtUN.Text + [Ô][ô], Transferir=[ô][Ô] + txtTransferir.Text + [Ô][ô], Transferida=[ô][Ô] + txtTransferida.Text + [Ô][ô], Saldo=[ô][Ô] + txtSaldo.Text + [Ô][ô], Data=[ô][Ô] + txtData.Text + [Ô][ô]WHERE ID=[ô][Ô] + listView1.Items[listView1.FocusedItem.Index].Text + [Ô][ô][Ô];
comando.ExecuteNonQuery();
MessageBox.Show([Ô]Registro atualizado com sucesso.[Ô], [Ô]Atualizar[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information);
}

carregaDados();
limpar();
}

catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

}
}
FILMAN 25/01/2013 16:12:27
#418130
Colega esse SQL
comando.CommandText = [Ô]SELECT * FROM Produtos WHERE Data ASC[Ô];

 comando.CommandText = [Ô]SELECT * FROM Produtos WHERE Data[Ô];


Esta com uma clausula WHERE e não tem parametros para o campo DATA
creio que você esta querendo exibir todos os dados da tabela então coloque assim
 comando.CommandText = [Ô]SELECT * FROM Produtos ORDER BY Data ASC[Ô];



verifique esta correto agora
VIVIANE 28/01/2013 10:21:17
#418176
Bom dia a todos

Obrigada Filman pela ajuda e desculpe a demora, pois, eu estava sem internet. Mudei esse select e mesmo assim continuou dando o mesmo erro.

Se alguém puder me ajudar agradeço a atenção.
Obrigada a todos.
VIVIANE 28/01/2013 10:38:08
#418179
Bom dia a todos

Muito obrigada a todos pela atenção e por me ajudarem, consegui resolver o problema era a minha tabela do banco Data que estava como date, mudei para varchar e ele não deu mais erro.

Agradeço a todos
Valeu
Tópico encerrado , respostas não são mais permitidas