INSERIR DADOS EM DUAS TABELAS

AISLANSANTOS 12/03/2013 13:52:30
#420310
Boa tarde,
Pessoal estou tenho duas tabelas uma de cadastro e outra de endereço, tenho de cadastrar informações nas duas tabelas porém não estou achando forma de fazer. alguém pode me dar uma mão ? desde jah agradeço.
JABA 12/03/2013 14:40:30
#420312
Veja se isso aqui te ajuda:

http://social.msdn.microsoft.com/Forums/en-US/adoptpt/thread/11bc74c8-1da5-415a-83a1-905618f72f62
AISLANSANTOS 14/03/2013 22:45:28
#420505
Um código dessa forma não funcionaria ?

myCmd.CommandText = [Ô]INSERT INTO Associados (razao_social, nome_fantasia, cnpj, inscricao_estadual, inscricao_municipal, afe, responsavel, cidade) [Ô] & _
[Ô] VALUES( [ô][Ô] & Tb_RazaoSocial.Text & [Ô][ô], [ô][Ô] & Tb_NomeFantasia.Text & [Ô][ô], [ô][Ô] & Tb_CNPJ.Text & [Ô][ô], [ô][Ô] & Tb_InscEstadual.Text & [Ô][ô], [ô][Ô] & Tb_InscMunicipal.Text & [Ô][ô], [ô][Ô] & Tb_Afe.Text & [Ô][ô], [ô][Ô] & Tb_Resp.Text & [Ô][ô], [ô][Ô] & Tb_Cidade.Text & [Ô][ô] )[Ô]


myCmd2.CommandText = [Ô]INSERT INTO enderecos (rua_end, numero_end, bairro_end, cidade_end, uf_end, complemento_end, ID_associados) [Ô] & _
[Ô] VALUES( [ô][Ô] & Tb_Rua.Text & [Ô][ô], [ô][Ô] & Tb_Numero.Text & [Ô][ô], [ô][Ô] & Tb_Bairro.Text & [Ô][ô], [ô][Ô] & Tb_Cidade2.Text & [Ô][ô], [ô][Ô] & Cb_Estado.Text & [Ô][ô], [ô][Ô] & Tb_Complemento.Text & [Ô][ô], [ô]selec max (ID) from Associados[ô] )[Ô]


galera desculpa qualquer coisa mais como podem ver sou bem leigo, se puderem me ajudar
NILSONTRES 15/03/2013 23:54:33
#420567
Funciona sim, desde de que após cada commandtext venha um executenowquery, não sei se escrevi certo.
AISLANSANTOS 20/03/2013 21:20:34
#420829
opa vou tentar aqui ... muito obrigado.
AISLANSANTOS 20/03/2013 21:26:47
#420830
o código deixei assim :
Dim myCmd As New Odbc.OdbcCommand
Dim myCmd2 As New Odbc.OdbcCommand
myCmd.Connection = conn
myCmd.CommandText = [Ô]INSERT INTO Associados (razao_social, nome_fantasia, cnpj, inscricao_estadual, inscricao_municipal, afe, responsavel, cidade) [Ô] & _
[Ô] VALUES( [ô][Ô] & Tb_RazaoSocial.Text & [Ô][ô], [ô][Ô] & Tb_NomeFantasia.Text & [Ô][ô], [ô][Ô] & Tb_CNPJ.Text & [Ô][ô], [ô][Ô] & Tb_InscEstadual.Text & [Ô][ô], [ô][Ô] & Tb_InscMunicipal.Text & [Ô][ô], [ô][Ô] & Tb_Afe.Text & [Ô][ô], [ô][Ô] & Tb_Resp.Text & [Ô][ô], [ô][Ô] & Tb_Cidade.Text & [Ô][ô] )[Ô]

myCmd.ExecuteNonQuery()
myCmd2.Connection = conn
myCmd2.CommandText = [Ô]INSERT INTO enderecos (rua_end, numero_end, bairro_end, cidade_end, uf_end, complemento_end, ID_associados)[Ô] & _
[Ô] VALUES ( [ô][Ô] & Tb_Rua.Text & [Ô][ô] , [ô][Ô] & Tb_Numero.Text & [Ô][ô] , [ô][Ô] & Tb_Bairro.Text & [Ô][ô] , [ô][Ô] & Tb_Cidade2.Text & [Ô][ô] , [ô][Ô] & Cb_Estado.Text & [Ô][ô] , [ô][Ô] & Tb_Complemento.Text & [Ô][ô], select ( max) ID from Associados ) [Ô]
myCmd2.ExecuteNonQuery()


deu a mensagem como que eu estou anexando.
MARCELOSN 20/03/2013 21:49:33
#420831
boa noite

Pelo visto o Mysql não esta aceitando a sua consulta dentro do Insert poderia até verificar a versão.

Uma alternativa sera fazer as 2 inserções e no meio delas verificar qual o ultimo registro para fazer a ultima

um exemplo rapido para ajudar....




[ô]String de dados: insercao e verificao de ultimo registro
Dim stSql1 As String = [Ô]Insert into Produtos (ProductName, QuantityPerUnit, CategoryID) Values (@ProductName, @QuantityPerUnit, @CategoryID);[Ô]
Dim stSql2 As String = [Ô]select MAX(ProductID) from Produtos[Ô]
Dim stSql3 As String = [Ô]Insert into Endereco (Endereco,Bairro) Values (@Endereco,@Bairro)

[ô]Varial para guarda ultimo registro
dim lblUltimoReg as String



[ô]conexao com o banco de dados
Dim sConn As New SqlConnection(conex)


Dim Cmd1 As New SqlCommand(stSql1, sConn)
Dim Cmd2 As New SqlCommand(stSql2, sConn)
Dim Cmd3 As New SqlCommand(stSql2, sConn)


[ô]Abrir conexao unica vez e fazer todas as tarefas
sConn.Open()

[ô]Inserir registro
Cmd1.ExecuteNonQuery()

[ô]Verificar qual o ultimo Codigo e guardar varialvel
lblUltimoReg t = Cmd2.ExecuteScalar()

[ô]Inserir o ultimo registro com o valor do registroregistro
Cmd1.ExecuteNonQuery()

[ô]fechar a conexao banco
sConn.Close()
MARCELOSN 20/03/2013 22:17:39
#420832
correção


[ô]Inserir registro
Cmd1.ExecuteNonQuery()

[ô]Verificar qual o ultimo Codigo e guardar varialvel
lblUltimoReg t = Cmd2.ExecuteScalar()

[ô]Inserir o ultimo registro com o valor do registroregistro
Cmd3.ExecuteNonQuery()

[ô]fechar a conexao banco
sConn.Close()
AISLANSANTOS 20/03/2013 22:32:10
#420834
Marcelo o que seria esse lblUltimoReg t estou meio que transpassando aqui para o que eu acho que é mais esse pedaço não intendi, é uma label ?
MARCELOSN 20/03/2013 22:44:06
#420835
No caso da String e para pegar o seu valor MAX ou qualquer valor do BD


+/- fazendo a sua consulta para o sistema

=============================




[ô]Varial para guarda ultimo registro
dim lblUltimoReg as String [ô] pegar o valor Max da sua consulta select ( max) ID from Associados )

[ô]String de dados: insercao e verificao de ultimo registro
Dim stSql1 As String = [Ô]INSERT INTO Associados (razao_social, nome_fantasia, cnpj, inscricao_estadual, inscricao_municipal, afe, responsavel, cidade) [Ô] & _
[Ô] VALUES( [ô][Ô] & Tb_RazaoSocial.Text & [Ô][ô], [ô][Ô] & Tb_NomeFantasia.Text & [Ô][ô], [ô][Ô] & Tb_CNPJ.Text & [Ô][ô], [ô][Ô] & Tb_InscEstadual.Text & [Ô][ô], [ô][Ô] & Tb_InscMunicipal.Text & [Ô][ô], [ô][Ô] & Tb_Afe.Text & [Ô][ô], [ô][Ô] & Tb_Resp.Text & [Ô][ô], [ô][Ô] & Tb_Cidade.Text & [Ô][ô] )[Ô]


Dim stSql2 As String = [Ô]select [Ô]( max) ID from Associados )[Ô]


Dim stSql3 As String = [Ô]INSERT INTO enderecos (rua_end, numero_end, bairro_end, cidade_end, uf_end, complemento_end, ID_associados)[Ô] & _
[Ô] VALUES ( [ô][Ô] & Tb_Rua.Text & [Ô][ô] , [ô][Ô] & Tb_Numero.Text & [Ô][ô] , [ô][Ô] & Tb_Bairro.Text & [Ô][ô] , [ô][Ô] & Tb_Cidade2.Text & [Ô][ô] , [ô][Ô] & Cb_Estado.Text & [Ô][ô] , [ô][Ô] & Tb_Complemento.Text & [Ô][ô], [Ô] & lblUltimoReg & [Ô] ) [Ô]



depois e so abrir o BD e executar os comando do SQL
OMAR2011 20/03/2013 22:47:23
#420836
Dim myCmd As New Odbc.OdbcCommand
Dim myCmd2 As New Odbc.OdbcCommand
myCmd.Connection = conn
myCmd.CommandText = [Ô]INSERT INTO Associados (razao_social, nome_fantasia, cnpj, inscricao_estadual, inscricao_municipal, afe, responsavel, cidade) [Ô] & _
[Ô] VALUES( [ô][Ô] & Tb_RazaoSocial.Text & [Ô][ô], [ô][Ô] & Tb_NomeFantasia.Text & [Ô][ô], [ô][Ô] & Tb_CNPJ.Text & [Ô][ô], [ô][Ô] & Tb_InscEstadual.Text & [Ô][ô], [ô][Ô] & Tb_InscMunicipal.Text & [Ô][ô], [ô][Ô] & Tb_Afe.Text & [Ô][ô], [ô][Ô] & Tb_Resp.Text & [Ô][ô], [ô][Ô] & Tb_Cidade.Text & [Ô][ô] )[Ô]

myCmd.ExecuteNonQuery()
myCmd2.Connection = conn
myCmd2.CommandText = [Ô]INSERT INTO enderecos (rua_end, numero_end, bairro_end, cidade_end, uf_end, complemento_end, ID_associados)[Ô] & _
[Ô] VALUES ( [ô][Ô] & Tb_Rua.Text & [Ô][ô] , [ô][Ô] & Tb_Numero.Text & [Ô][ô] , [ô][Ô] & Tb_Bairro.Text & [Ô][ô] , [ô][Ô] & Tb_Cidade2.Text & [Ô][ô] , [ô][Ô] & Cb_Estado.Text & [Ô][ô] , [ô][Ô] & Tb_Complemento.Text & [Ô][ô], [txt-color=#e80000]select ( max) ID from Associados [/txt-color]) [Ô] [ô] é aqui onde está o erro.Retire.
myCmd2.ExecuteNonQuery()
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas