INSERIR DADOS SEM USAR PARAMENTROS
Boa noite Pessoal,
Alguem poderia me dizer se existe um forma de fazer o insert into sem usar os paramentros, por exemplo igual ao windows form abaixo ???
SQL += [Ô]INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES([Ô]
SQL += [Ô][ô][Ô] & txtCod.Text & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(mskData.Text) & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(txtValEntrada.Text) & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(txtHistorico.Text) & [Ô][ô])[Ô]
No asp.net ele informa que o sÃmbolo [Ô] & [Ô] não é valido.
Alguem poderia me dizer se existe um forma de fazer o insert into sem usar os paramentros, por exemplo igual ao windows form abaixo ???
SQL += [Ô]INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES([Ô]
SQL += [Ô][ô][Ô] & txtCod.Text & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(mskData.Text) & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(txtValEntrada.Text) & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(txtHistorico.Text) & [Ô][ô])[Ô]
No asp.net ele informa que o sÃmbolo [Ô] & [Ô] não é valido.
O problema não é o [Ô]ASP.NET[Ô], o problema é que você está concatenando errado. Nem vou corrigir a concatenação, vou mostrar pra você como usar parâmetros de verdade:
[c#]
[c#]
using (SqlCommand cmd = new SqlCommand([Ô]Insert Into TABELA (Campo1, campo2) Values (@Valor1, @valor2)[Ô], Conexao)
{
cmd.Parameters.AddWithValue([Ô]Valor1[Ô], mskData.text);
cmd.Parameters.AddWithValue([Ô]Valor1[Ô], txtOUTRO_CAMPO.text);
cmd.ExecuteNonQuery();
}
Citação::
Boa noite Pessoal,
Alguem poderia me dizer se existe um forma de fazer o insert into sem usar os paramentros, por exemplo igual ao windows form abaixo ???
SQL += [Ô]INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES([Ô]
SQL += [Ô][ô][Ô] & txtCod.Text & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(mskData.Text) & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(txtValEntrada.Text) & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & UCase(txtHistorico.Text) & [Ô][ô])[Ô]
No asp.net ele informa que o sÃmbolo [Ô] & [Ô] não é valido.
Da forma que vc esta concatenando vc está colocando o INSERT INTO BLA...BLA...BLA em cada linha que contem a variável SQL.
Seu SQL ficaria assim :
INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES(INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES(TXTCOD.TE,INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES(INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES(INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES(TXTCOD.TE,INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES(UCase(mskData.Text),
BLA...
BLA...
BLA...
Quando o correto seria :
SQL += [Ô]INSERT INTO TB_ENTRADA(COD,DATA,VALOR,HISTORICO)VALUES([Ô] & _
[Ô][ô][Ô] & txtCod.Text & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & UCase(mskData.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & UCase(txtValEntrada.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & UCase(txtHistorico.Text) & [Ô][ô])[Ô]
Algo assim....
Nem testei a sql , mas como o KERPLUNK falou há erro na concatenação da sql.
Fiz assim com parametro:
Conecta()
SQL = [Ô]INSERT INTO TB_NOTAS(COD, NR_NOTA, DT_NOTA, FORNECEDOR, DT_VENCIMENTO,[Ô]
SQL += [Ô]DT_RECEBIMENTO, DT_LANCAMENTO, DT_ENTREGA, NR_SOLCITACAO)values([Ô]
SQL += [Ô]@txtCodigo,@txtnrNF,@txtEmissao,@txtFornec,@txtVenc,@txtRec,[Ô]
SQL += [Ô]@txtLanc,@txtEntregue,@txtSolic)[Ô]
cmd = New OleDbCommand(SQL, cnn)
cmd.Parameters.AddWithValue([Ô]@txtCodigo[Ô], txtCodigo.Text)
cmd.Parameters.AddWithValue([Ô]@txtnrNF[Ô], txtnrNF.Text)
cmd.Parameters.AddWithValue([Ô]@txtEmissao[Ô], txtEmissao.Text)
cmd.Parameters.AddWithValue([Ô]@txtFornec[Ô], txtFornec.Text)
cmd.Parameters.AddWithValue([Ô]@txtVenc[Ô], txtVenc.Text)
cmd.Parameters.AddWithValue([Ô]@txtRec[Ô], txtRec.Text)
cmd.Parameters.AddWithValue([Ô]@txtLanc[Ô], txtFornec.Text)
cmd.Parameters.AddWithValue([Ô]@txtEntregue[Ô], txtEntregue.Text)
cmd.Parameters.AddWithValue([Ô]@txtSolic[Ô], txtSolic.Text)
cnn.Open()
cmd.ExecuteNonQuery()
Response.Write([Ô]<script language=[ô]javascript[ô]>alert([ô]Cadastro efetuado com sucesso !!![ô]);</script>[Ô])
cnn.Close()
Com o parametro fuciona normal, sem erros!
Mas costaria de fazer de modo normal sem usar o parametro, conforme abaixo:
Conecta()
SQL = [Ô]INSERT INTO TB_NOTAS(COD, NR_NOTA, DT_NOTA, FORNECEDOR, DT_VENCIMENTO,[Ô]
SQL += [Ô]DT_RECEBIMENTO, DT_LANCAMENTO, DT_ENTREGA, NR_SOLCITACAO)values([Ô]
SQL += [Ô][ô][Ô] & txtCodigo & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtnrNF & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtEmissao & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtFornec & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtVenc & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtRec & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtLanc & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtEntregue & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtSolic & [Ô][ô])[Ô]
cmd = New OleDbCommand(SQL, cnn)
cnn.Open()
cmd.ExecuteNonQuery()
Response.Write([Ô]<script language=[ô]javascript[ô]>alert([ô]Cadastro efetuado com sucesso !!![ô]);</script>[Ô])
cnn.Close()
OBS: No asp.net ele informa que o sÃmbolo [Ô] & [Ô] não é valido com string.
Conecta()
SQL = [Ô]INSERT INTO TB_NOTAS(COD, NR_NOTA, DT_NOTA, FORNECEDOR, DT_VENCIMENTO,[Ô]
SQL += [Ô]DT_RECEBIMENTO, DT_LANCAMENTO, DT_ENTREGA, NR_SOLCITACAO)values([Ô]
SQL += [Ô]@txtCodigo,@txtnrNF,@txtEmissao,@txtFornec,@txtVenc,@txtRec,[Ô]
SQL += [Ô]@txtLanc,@txtEntregue,@txtSolic)[Ô]
cmd = New OleDbCommand(SQL, cnn)
cmd.Parameters.AddWithValue([Ô]@txtCodigo[Ô], txtCodigo.Text)
cmd.Parameters.AddWithValue([Ô]@txtnrNF[Ô], txtnrNF.Text)
cmd.Parameters.AddWithValue([Ô]@txtEmissao[Ô], txtEmissao.Text)
cmd.Parameters.AddWithValue([Ô]@txtFornec[Ô], txtFornec.Text)
cmd.Parameters.AddWithValue([Ô]@txtVenc[Ô], txtVenc.Text)
cmd.Parameters.AddWithValue([Ô]@txtRec[Ô], txtRec.Text)
cmd.Parameters.AddWithValue([Ô]@txtLanc[Ô], txtFornec.Text)
cmd.Parameters.AddWithValue([Ô]@txtEntregue[Ô], txtEntregue.Text)
cmd.Parameters.AddWithValue([Ô]@txtSolic[Ô], txtSolic.Text)
cnn.Open()
cmd.ExecuteNonQuery()
Response.Write([Ô]<script language=[ô]javascript[ô]>alert([ô]Cadastro efetuado com sucesso !!![ô]);</script>[Ô])
cnn.Close()
Com o parametro fuciona normal, sem erros!
Mas costaria de fazer de modo normal sem usar o parametro, conforme abaixo:
Conecta()
SQL = [Ô]INSERT INTO TB_NOTAS(COD, NR_NOTA, DT_NOTA, FORNECEDOR, DT_VENCIMENTO,[Ô]
SQL += [Ô]DT_RECEBIMENTO, DT_LANCAMENTO, DT_ENTREGA, NR_SOLCITACAO)values([Ô]
SQL += [Ô][ô][Ô] & txtCodigo & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtnrNF & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtEmissao & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtFornec & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtVenc & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtRec & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtLanc & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtEntregue & [Ô][ô],[Ô]
SQL += [Ô][ô][Ô] & txtSolic & [Ô][ô])[Ô]
cmd = New OleDbCommand(SQL, cnn)
cnn.Open()
cmd.ExecuteNonQuery()
Response.Write([Ô]<script language=[ô]javascript[ô]>alert([ô]Cadastro efetuado com sucesso !!![ô]);</script>[Ô])
cnn.Close()
OBS: No asp.net ele informa que o sÃmbolo [Ô] & [Ô] não é valido com string.
Não faça sem parâmetros, usar parâmetros é a forma correto e recomendada de se fazer isso, o jeito que você diz ser [Ô]normal[Ô] é o modo não recomendado e aberto a bugs.
Outra coisa, não use Response.Write no ASP.Net, se quer rodar um script use a função RegisterStartupScript do ClientScriptManager
Outra coisa, não use Response.Write no ASP.Net, se quer rodar um script use a função RegisterStartupScript do ClientScriptManager
Obrigado pela Dica e ajuda de todos, consegui resolver o problema.
Grato.
Grato.
Tópico encerrado , respostas não são mais permitidas