2014-05-23 4 views
-1

데이터베이스의 텍스트 상자를 사용하여 데이터를 업데이트하려고하지만 오류 메시지가 나타납니다. 오류가vb 및 sql을 사용하여 데이터베이스의 데이터를 업데이트하십시오.

희망 유 모두가 나에게 문제를 해결하는 데 도움이 될 수 있습니다 "잘못된 구문 근처 '('. '아래

이 업데이트 데이터에 대한 코드입니다. 감사합니다 :)

dbSource = "Data Source=LAILATUL-PC\SERVER;Initial Catalog=HotelManagementSystem;Integrated Security=True" 

      con = New SqlConnection(dbSource) 

      con.Open() 

      Dim sqlUpdate As String = "UPDATE [Room] SET ([Room_Code], [Room_Type], [Room_No], [Room_Price], [Room_Status], [No_of_Occupancy]) VALUES (@RoomCode, @RoomType, @RoomNo, @RoomPrice, @RoomStatus, @NoOfOccupancy WHERE [Room_Code] = " & txtRoomCode.Text & ") " 

      cmd = New SqlCommand(sqlUpdate) 

      cmd.Connection = con 


      cmd.Parameters.AddWithValue("@RoomCode", txtRoomCode.Text) 
      cmd.Parameters.AddWithValue("@RoomType", txtRoomType.Text) 
      cmd.Parameters.AddWithValue("@RoomNo", txtRoomNo.Text) 
      cmd.Parameters.AddWithValue("@RoomPrice", txtRoomPrice.Text) 
      cmd.Parameters.AddWithValue("@RoomStatus", txtRoomStatus.Text) 
      cmd.Parameters.AddWithValue("@NoOfOccupancy", txtNoOfOccupancy.Text) 


      cmd.ExecuteNonQuery() 



      MessageBox.Show("Successfully saved", "Record", MessageBoxButtons.OK, MessageBoxIcon.Information) 

답변

0

당신은 이미 당신의 sql 주입 공격까지 열 수있는 마지막 매개 변수를 잊지 마세요.

Dim sqlUpdate As String = "UPDATE [Room] SET [Room_Code] = @RoomCode, 
    [Room_Type] = @RoomType, [Room_No] = @RoomNo, [Room_Price] = @RoomPrice 
    [Room_Status] = @RoomStatus, [No_of_Occupancy] = @NoOfOccupancy 
    WHERE [Room_Code] = @RoomCode" 
+0

tq. 코드가 성공했습니다 :) – siyhaz

0

에 필요 인용 WHERE 절

Dim sqlUpdate As String = "UPDATE [Room] SET ([Room_Code], [Room_Type], [Room_No], [Room_Price], [Room_Status], [No_of_Occupancy]) VALUES (@RoomCode, @RoomType, @RoomNo, @RoomPrice, @RoomStatus, @NoOfOccupancy WHERE [Room_Code] = '" & txtRoomCode.Text & "') " 

편집 또는 더 나은 아직 객실의 코드 텍스트는 매개 변수가 너무합니다.

0

나는이 문장 믿고 다음과 같이

Dim sqlUpdate As String = "UPDATE [Room] SET ([Room_Code], [Room_Type], [Room_No], [Room_Price], [Room_Status], [No_of_Occupancy]) VALUES (@RoomCode, @RoomType, @RoomNo, @RoomPrice, @RoomStatus, @NoOfOccupancy WHERE [Room_Code] = " & txtRoomCode.Text & ") " 

요구가 다시 작성하기 :

Dim sqlUpdate As String = "UPDATE [Room] SET [Room_Code] = @RoomCode, [Room_Type] = @RoomType, [Room_No] = @RoomNo, [Room_Price] = @RoomPrice, [Room_Status] = @RoomStatus, [No_of_Occupancy] = @NoOfOccupancy WHERE [Room_Code] = '" & txtRoomCode.Text & "') " 

당신은 두 가지 문제가있다. 당신은 txtRoomCode.txt 값을 인용하지 않았고, 그것이 정말로 혼란스럽지 않은 한 UPDATE 문에 대한 올바른 구문이 아닙니다.

관련 문제