Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jrcardozo

[Resolvido] Inserir registros qualquer base usando ADO

Recommended Posts

OBS.: Para retornar o id do registro incluido, a coluna autonumérica deve ser a primeira da tabela

'***********************************
'Função:			inserirRegistro
'Finalidade:	Inserir os registros na tabela e retornar o ID do registro afetado
'Autor:				Jonathan Cardozo
'***********************************
Function inserirRegistro(ByVal tabela, ByVal arrayColuna, ByVal arrayValor)
	'tabela(String)			 := Nome Tabela a ser inserido o registro
	'arrayColuna(Array)	 := Array das colunas da tabela referenciada
	'arrayValor(Array)		:= Array dos valores serem inseridos de acordo com a posição das colunas

	'Teste simples dos parâmetros
	If Trim(tabela & "") = "" Then
		Response.Write "Tabela não definida"
		Response.End()
	End If
	If (Ubound(arrayColuna) <> Ubound(arrayValor)) Or (Not IsArray(arrayColuna) Or Not IsArray(arrayValor)) Then
		Response.Write "Número de Colunas diferente do Número de Valores."
		Response.End()
	End If

	'Inicializando as variáveis
	Dim i
	Dim rs

	'Criando o objeto recordset
	Set rs = Server.CreateObject("ADODB.Recordset")

	'Abrindo o objeto e definindo propriedades
	rs.Open Trim(tabela & ""), Connect, 1, 3, 2

	'Abrindo um novo registro
	rs.AddNew

	'Varrendo o array e definindo os dados
	For i = 0 To Ubound(arrayColuna)
		rs(arrayColuna(i)) = arrayValor(i)
	Next

	'Confirmando a transação
	rs.Update

	'Devolvendo a primeira coluna(chave autonumérica) para a função
	inserirRegistro = rs(0)

	'Destruindo o objeto recordset
	rs.Close()
	Set rs = Nothing
End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.