startuga Posted September 6, 2013 at 10:32 AM Report #523620 Posted September 6, 2013 at 10:32 AM Boas, Estava agora a dar uma vista de olhos por um projecto que tenho e reparei agora que este código: Protected Sub btn_updatePT_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btn_updatePT.Click Dim con As New SqlConnection("Data Source=xxxxx\xxxx;Initial Catalog=xxxxx;User ID=xxxx;pwd=xxxx") con.Open() Dim command As New SqlCommand("UPDATE Pt SET PT_ID = @PT_ID, PT_Description = @PT_Description, AREA_ID = @AREA_ID FROM Pt INNER JOIN AREAS ON Pt.AREA_ID = AREAS.AREA_ID WHERE (Pt.PT_ID = @PT_ID)", con) command.Parameters.Add("@PT_ID", SqlDbType.VarChar).Value = txb_promotionID.Text command.Parameters.Add("@PT_Description", SqlDbType.VarChar).Value = txb_promotionDescription.Text command.Parameters.Add("@AREA_ID", SqlDbType.VarChar).Value = ddl_PTareaCode.SelectedValue command.ExecuteNonQuery() con.Close() End Sub Não me está a fazer Update a todos os campos, mais propriamente não faz ao campos que estão com 'NULL', entretanto já tentei fazer com 'WHERE IS NULL' mas não consigo que ele faço o update desses campos, como posso proceder para fazer isso? Obrigado
nelsonr Posted September 6, 2013 at 10:40 AM Report #523621 Posted September 6, 2013 at 10:40 AM Qual é o proposito desse UPDATE? E para que o INNER JOIN ali? Queres atualizar a descrição e codigo da area para as promoções com o ID indicado em xtb_promotionid.text?
startuga Posted September 6, 2013 at 10:45 AM Author Report #523623 Posted September 6, 2013 at 10:45 AM (edited) Inner join: http://img27.imageshack.us/img27/5646/0ckv.jpg Atualizar/alterar os campos PT_Description e AREA_ID Edited September 6, 2013 at 10:46 AM by startuga
nelsonr Posted September 6, 2013 at 10:51 AM Report #523625 Posted September 6, 2013 at 10:51 AM Mas o objectivo não é só atualziar a tabela Pt? Não podia ser apenas: UPDATE Pt SET PT_Description = @PT_Description, AREA_ID = @AREA_ID WHERE PT_ID = @PT_ID Em relação à questão inicial, os campos que te referes são os restantes na tabela Pt? Caso sejam, tens duas hipoteses - incluir no UPDATE todos os campos - ou definir na estrutura da tabela os valores default para os campos e indicar que não podem ter valor NULL
startuga Posted September 6, 2013 at 10:54 AM Author Report #523627 Posted September 6, 2013 at 10:54 AM É atualizar a tabela PT com valores que vêm das Areas. Não apenas os que se encontram com NULL são os PT.AREA_ID.
nelsonr Posted September 6, 2013 at 11:12 AM Report #523632 Posted September 6, 2013 at 11:12 AM Então mas o AREA_ID a atualizar na tabela Pt não é o que está no campo "ddl_PTareaCode.SelectedValue" ?
startuga Posted September 6, 2013 at 11:15 AM Author Report #523633 Posted September 6, 2013 at 11:15 AM A "ddl_PTareaCode.SelectedValue" recebe valores vindos da AREA_ID.
nelsonr Posted September 6, 2013 at 11:29 AM Report #523634 Posted September 6, 2013 at 11:29 AM Espera lá, esta linha: command.Parameters.Add("@AREA_ID", SqlDbType.VarChar).Value = ddl_PTareaCode.SelectedValue está a passar para o parametro @AREA_ID o valor selecionado na dropdown ddl_PTareaCode.SelectedValue. Não é esse valor que queres atualizar na tabela Pt?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now