INSERT NULL
VB.et 201 - sql server 2008,
como gravar dados quando alguns itens são NULL.
dim Reg-1, reg_2, Reg_3 as integer
dim Reg_4, Reg_5 as string
[ô] Reg_2 e Reg5 neste caso sãoNUL, não receberão valor.
sql = [Ô][Ô]
sql += [Ô]insert into Tabela(Reg1, Reg2, Reg3, Reg4, Reg5) [Ô]
sql += [Ô] values (reg_1, REg_2, REg_3, REg_4.tostring(), Reg_5.tostring()) [Ô]
sql += [Ô] where Seq + [Ô] cstr(txtseq.text)
Dependendo do insert, uns itens serão nulo, já em outros podemos não ter valor NULL.
Conto com vocês.
como gravar dados quando alguns itens são NULL.
dim Reg-1, reg_2, Reg_3 as integer
dim Reg_4, Reg_5 as string
[ô] Reg_2 e Reg5 neste caso sãoNUL, não receberão valor.
sql = [Ô][Ô]
sql += [Ô]insert into Tabela(Reg1, Reg2, Reg3, Reg4, Reg5) [Ô]
sql += [Ô] values (reg_1, REg_2, REg_3, REg_4.tostring(), Reg_5.tostring()) [Ô]
sql += [Ô] where Seq + [Ô] cstr(txtseq.text)
Dependendo do insert, uns itens serão nulo, já em outros podemos não ter valor NULL.
Conto com vocês.
utilizando parâmetros fica mais fácil.
ex: sql = [Ô]Insert into tabela(codigo,nome) values (@codigo,@nome)[Ô]
SqlCommand cmd;
cmd = new SqlCommand(sql, classedeconexao.sqlConnection);
cmd.Parameters.AddWithValue([Ô]@codigo[Ô], classe.codigo);
cmd.Parameters.AddWithValue([Ô]@nome[Ô], classe.nome);
cmd.ExecuteNonQuery();
Isto seria um exemplo, agora basta aplicar.
Utilizar orientação a objetos é essencial, muitos desses problemas são [Ô]Resolvidos[Ô] quando feito da forma correta.
Abraços
ex: sql = [Ô]Insert into tabela(codigo,nome) values (@codigo,@nome)[Ô]
SqlCommand cmd;
cmd = new SqlCommand(sql, classedeconexao.sqlConnection);
cmd.Parameters.AddWithValue([Ô]@codigo[Ô], classe.codigo);
cmd.Parameters.AddWithValue([Ô]@nome[Ô], classe.nome);
cmd.ExecuteNonQuery();
Isto seria um exemplo, agora basta aplicar.
Utilizar orientação a objetos é essencial, muitos desses problemas são [Ô]Resolvidos[Ô] quando feito da forma correta.
Abraços
Desde já agradeço,
ex: sql = [Ô]Insert into tabela(codigo,nome) values (@codigo,@nome)[Ô] neste caso coloco as variáveis de values com os mesmos nomes da tebela ou o nome das variáveis?
ex: sql = [Ô]Insert into tabela(codigo,nome) values (@codigo,@nome)[Ô] neste caso coloco as variáveis de values com os mesmos nomes da tebela ou o nome das variáveis?
GUIMORAES123,
Perfeito, depois que descobri isso refiz todos os meus códigos de uns anos para ca.
HELIO COSTA,
é o nome dos campos mesmo.
No caso de datas, eu faço assim:
MY_COMAND.Parameters.Add(New MySqlParameter([Ô]@Data_Nasc[Ô], IIf(Me.Data_Nasc = Nothing, System.DBNull.Value, Me.Data_Nasc)))
Embora o exemplo do GUIMOARES é para sql e o meu para mysql.
Citação:Isto seria um exemplo, agora basta aplicar.
Utilizar orientação a objetos é essencial, muitos desses problemas são [Ô]Resolvidos[Ô] quando feito da forma correta.
Perfeito, depois que descobri isso refiz todos os meus códigos de uns anos para ca.
HELIO COSTA,
Citação:neste caso coloco as variáveis de values com os mesmos nomes da tebela ou o nome das variáveis
é o nome dos campos mesmo.
No caso de datas, eu faço assim:
MY_COMAND.Parameters.Add(New MySqlParameter([Ô]@Data_Nasc[Ô], IIf(Me.Data_Nasc = Nothing, System.DBNull.Value, Me.Data_Nasc)))
Embora o exemplo do GUIMOARES é para sql e o meu para mysql.
Certo.
agora apareceu esse erro:
Estouro de SqlDateTime. Deve estar entre 1/1/1753 12:00:00 AM e 31/12/9999 11:59:59 PM.
agora apareceu esse erro:
Estouro de SqlDateTime. Deve estar entre 1/1/1753 12:00:00 AM e 31/12/9999 11:59:59 PM.
Erro está no formato de data e hora.
Dim DataEntrada, HoraEntrada As DateTime
Dim DataAtual As DateTime = DateTime.Now
DataEntrada = Format(DataAtual, [Ô]yyyy-MM-dd[Ô])
HoraEntrada = FormatDateTime(DataAtual, DateFormat.ShortTime)
[ô]cd.Parameters.AddWithValue([Ô]@DataEntrada[Ô], DataEntrada)
[ô]cd.Parameters.AddWithValue([Ô]@HoraEntrada[Ô], HoraEntrada)
o que está de errado?
Dim DataEntrada, HoraEntrada As DateTime
Dim DataAtual As DateTime = DateTime.Now
DataEntrada = Format(DataAtual, [Ô]yyyy-MM-dd[Ô])
HoraEntrada = FormatDateTime(DataAtual, DateFormat.ShortTime)
[ô]cd.Parameters.AddWithValue([Ô]@DataEntrada[Ô], DataEntrada)
[ô]cd.Parameters.AddWithValue([Ô]@HoraEntrada[Ô], HoraEntrada)
o que está de errado?
Resolvi da seguinte forma:
Dim DataEntrada, HoraEntrada As DateTime
Dim DataAtual As DateTime = DateTime.Now
Dim HoraAtual As DateTime = TimeOfDay
DataEntrada = Format(DataAtual, [Ô]dd-MM-yyyy[Ô])
HoraEntrada = FormatDateTime(HoraAtual, DateFormat.ShortTime)
cd.Parameters.AddWithValue([Ô]@DataEntrada[Ô], DateTime.Parse(DataEntrada))
cd.Parameters.AddWithValue([Ô]@HoraEntrada[Ô], DateTime.Parse(HoraEntrada))
Valeu pela ajuda.
Dim DataEntrada, HoraEntrada As DateTime
Dim DataAtual As DateTime = DateTime.Now
Dim HoraAtual As DateTime = TimeOfDay
DataEntrada = Format(DataAtual, [Ô]dd-MM-yyyy[Ô])
HoraEntrada = FormatDateTime(HoraAtual, DateFormat.ShortTime)
cd.Parameters.AddWithValue([Ô]@DataEntrada[Ô], DateTime.Parse(DataEntrada))
cd.Parameters.AddWithValue([Ô]@HoraEntrada[Ô], DateTime.Parse(HoraEntrada))
Valeu pela ajuda.
Tópico encerrado , respostas não são mais permitidas