COMO SABER SE INSERT INTO SELECT INSERIU DADOS.
Boa tarde.
Dá para saber se o insert into gravou alguma coisa? Minha string é do tipo INSERT INTO SELECT, ou seja, o INSERT INTO só vai ter alguma coisa para inserir se o SELECT retornar dados. ex:
INSERT INTO SELECT tbl_resultados WHERE numero = 10
Se encontrar registros com número = 10, o INSERT IINTO vai inserÃ-los, se não, não.
O problema é que eu preciso pegar o id recém-inserido. E preciso tratar se o INSERT INTO não inserir nada.
Dá pra saber se o INSERT INTO inseriu registros?
Dá para saber se o insert into gravou alguma coisa? Minha string é do tipo INSERT INTO SELECT, ou seja, o INSERT INTO só vai ter alguma coisa para inserir se o SELECT retornar dados. ex:
INSERT INTO SELECT tbl_resultados WHERE numero = 10
Se encontrar registros com número = 10, o INSERT IINTO vai inserÃ-los, se não, não.
O problema é que eu preciso pegar o id recém-inserido. E preciso tratar se o INSERT INTO não inserir nada.
Dá pra saber se o INSERT INTO inseriu registros?
Sei que retorna 0 quando não inseriu e 1 quando inseriu, mas não me lembro como eu fazia em vb6.
Quando você executa o método ExecuteNonQuery do SqlCommand, ele retorna um inteiro indicando o número de linhas que foram afetadas pelo comando. Se for um Insert Into simples, basta verificar se o retorno será 1.
Abraços!
Abraços!
E o ExecuteNonQuery tem no ADO do VB6?
No comando [Ô]Execute[Ô], verifique se existe alguma propriedade como status. Por exemplo, Msgbox(db.Execute.State)
Achei isso aqui na net:
http://www.macoratti.net/connect.htm
Achei isso aqui na net:
Dim cnn as ADODB.Connection
Dim [txt-color=#e80000]regafetados[/txt-color] as integer
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
[ô]abrindo uma conexão usando um DSN configurado com o nome de Teste
Cnn.Open [Ô]Teste[Ô] , [Ô]usuario[Ô], [Ô][Ô]
[ô]Verifica se a conexão foi efetivamente efetuada
If cnn.State = adStateOpen then
Msgbox [Ô] Conexão ativa [Ô]
else
MsgBox [Ô] Conexão inativa [Ô]
End if
[ô]Envia uma instrução DELETE para o banco de dados
cnn.Execute [Ô]DELETE from Authors Where au_id=[ô]011-01-0111[ô][Ô], [txt-color=#e80000]regafetados[/txt-color], adExecuteNoRecords
[ô] Mostra o numero de registros afetados
Debug Print [Ô]Registros afetados = [Ô] & regafetados
Cnn.close [ô]Fecha a conexão
http://www.macoratti.net/connect.htm
JABA, o State serve apenas para saber se a conexão está aberta.
Sobre o adExecuteNoRecords, é uma boa saber dele, mas eu preciso saber dados foram inseridos ou não, em uma variável.
Sobre o adExecuteNoRecords, é uma boa saber dele, mas eu preciso saber dados foram inseridos ou não, em uma variável.
E a variável [Ô]regafetados[Ô] lá no que postei, o que deu?
é vdd JABA. Parece que é isto mesmo. Ela retorna a qtde. de registros inseridos.
Abs!
Abs!
Tópico encerrado , respostas não são mais permitidas