Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi gente, como todo mundo que me vê por aqui sabe eu to começando a programar agora e tenho tido muitas duvidas bobas.
Essa me parece ser uma delas.
Eu to tentando fazer um insert ou um update, em uma tabela chamada chamada profissionais.
O esquema é o seguinte, o usuario é logado na conta dele por uma variável de session, na área dele ele tem a opção de atualizar suas informações.
O ideal seria que se já houver informações referentes a esse usuário cadastradas seja feito um update, caso contrario seja feito um insert.
estou tentando fazer essa verificação usando o
If myData.HasRows <> 0
Mas na hora de executar da erro, e diz que o myData precisa ser fechado.
Nem sei se eu posso fazer do jeito que eu fiz, mas não encontrei informações em outro lugar e sai fazendo qualquer coisa pra ver se funcionava.
ta ai o codigo completo:
obs - cortei a parte onde declaro as variaveis que recebem os valores dos campos.
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
Dim conexaoMySQL As MySqlConnection
Dim myAdapter As New MySqlDataAdapter
' Dim dsMySQL As DataSet
Dim strSQL As String
'Conexao banco de dados
conexaoMySQL = New MySqlConnection("server=xxx.xxx.xx.x; user id=xxxxxx; password=xxxx; database=xxxx")
Dim id2 As String = Session("id")
Try
conexaoMySQL.Open()
Catch myerror As MySqlException
MsgBox("Erro de conexao com o BD")
End Try
Dim strSQL1 As String
Dim strSQL2 As String
strSQL = "select * from Profissionais where id_usuario='" + id2 + "' "
Dim myCommand As New MySqlCommand()
myCommand.Connection = conexaoMySQL
myCommand.CommandText = strSQL
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
If myData.HasRows <> 0 Then
myData.Close()
strSQL1 = "insert into Profissionais (id_usuario, nome, sobrenome, data_de_nasc, area_de_atuacao, sobre,
atividade_1, atividade_2, atividade_3, estado, cidade, bairro, rua, numero, CEP, complemento, ultimo_emprego,
tempo_de_trabalho_de, tempo_de_trabalho_ate, telefone_de_contato, atividades_realizadas, nome_do_companheiro,
quanto_tempo, quandos_filhos, quem_cuida, qual_problema, qual_medicamento) values ('" & id2 & "','" & nome & "','"
& sobrenome & "','" & data & "','" & area & "','" & sobre & "','" & atividade_1 & "','" & atividade_2 & "','" &
atividade_3 & "','" & estado & "','" & cidade & "','" & bairro & "','" & rua & "','" & numero & "','" & cep & "','"
& complemento & "','" & ultimo_emprego & "','" & de & "','" & ate & "','" & contato & "','" & atividades_realizadas
& "','" & nome_dele & "','" & quanto_tempo & "','" & quantos_filhos & "','" & quem_cuida & "','" & qual_prob_saude
& "','" & qual_medicamento & "')"
Dim myCommand1 As New MySqlCommand()
myCommand1.Connection = conexaoMySQL
myCommand1.CommandText = strSQL1
myAdapter.SelectCommand = myCommand1
Dim myData1 As MySqlDataReader
myData1 = myCommand1.ExecuteReader()
myData1.Close()
Else
strSQL2 = "update Profissionais set nome=" & nome & ", sobrenome=" & sobrenome & ", data_de_nasc=" &
data & ", area_de_atuacao=" & area & ", sobre=" & sobre & ", atividade_1=" & atividade_1 & ", atividade_2=" &
atividade_2 & ", atividade_3=" & atividade_3 & ", estado=" & estado & ", cidade=" & cidade & ", bairro=" & bairro &
", rua=" & rua & ", numero=" & numero & ", CEP=" & cep & ", complemento=" & complemento & ", ultimo_emprego=" &
ultimo_emprego & ", tempo_de_trabalho_de=" & de & ", tempo_de_trabalho_ate=" & ate & ", telefone_de_contato=" &
contato & ", atividades_realizadas=" & atividades_realizadas & ", nome_do_companheiro=" & nome_dele & ",
quanto_tempo=" & quanto_tempo & ", quandos_filhos=" & quantos_filhos & ", quem_cuida=" & quem_cuida & ",
qual_problema=" & qual_prob_saude & ", qual_medicamento=" & qual_medicamento & " where id_usuario =" + id2 + ""
Dim myCommand2 As New MySqlCommand()
myCommand2.Connection = conexaoMySQL
myCommand2.CommandText = strSQL2
myAdapter.SelectCommand = myCommand2
Dim myData2 As MySqlDataReader
myData2 = myCommand2.ExecuteReader()
myData2.Close()
End If
End SubEu sei que a duvida é boba mas eu agradeço se puderem dar uma olhadinha.
Valeeu :)
Beijão :*
Carregando comentários...