Я новичок в SQL. Я не уверен, что это возможно, но у меня есть две таблицы: P_Movies & P_TV_Show. P_Movies имеет столбец под названием MOVIEID & P_TV_SHOWS имеет столбец TVID.Как отображать данные, когда пользователь вводит ID # в Oracle.DataAccess.Client, приложение формы VB
Im пытается выяснить утверждение, где, если пользователь вводит movieID, он выберет тот определенный moviteitle и режиссер. То же самое касается TVID, он будет отображать этот сертификат tvTitle и TVDirector.
Вот код, у меня есть:
'Reference Orcale'
Imports Oracle.DataAccess.Client
Public Class frmSearch
'Get a Connection , string into a variable'
Dim oradb As String = "Data Source=(DESCRIPTION=" _
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=------)(PORT=---))" _
+ "(CONNECT_DATA=(SERVICE_NAME=orclcitp)));" _
+ "User Id=----;Password=---;"
'Create an Oracle connection
Dim conn As New Odbc.OdbcConnection(oradb)
Private Sub BtnMainMenu_Click(sender As Object, e As EventArgs)
Handles BtnMainMenu.Click
'Show Main Menu Form'
frmMainMenu.Show()
'Hide Search Form'
Me.Hide()
End Sub
Private Sub BtnClear_Click(sender As Object, e As EventArgs) Handles
BtnClear.Click
'Set Focus and selects MovieID textbox'
txtMovieID.Focus()
txtMovieID.Select()
'Clear textbox and label'
txtMovieID.Clear()
txtTVID.Clear()
lblTitleDisplay.Text = ""
lblDirectorDisplay.Text = ""
End Sub
Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles
BtnSearch.Click
'Create Variables for the data that will be retrieved from the database'
Dim strTitle As String = ""
Dim strDirector As String = ""
conn.Open() ' Open Orcale Connection'
'Select All Varaibles From database string'
Dim sql1 As String = "SELECT MOVIETITLE, MOVIEDIRECTOR FROM P_MOVIES
WHERE MOVIEID = '" & txtMovieID.Text & " ' SELECT TVTITLE,TVDIRECTOR
FROM P_TV_SHOWS WHERE TVID= '" & txtTVID.Text & "'"
'Create orcale command'
Dim cmd1 As New OracleCommand(sql1, conn)
'Eqaual command to the user selection'
cmd1.CommandText = sql1
cmd1.CommandType = CommandType.Text
'Create Oracle data reader which be stored in the variables created'
Dim dr As Odbc.OdbcDataReader = cmd1.ExecuteReader()
While dr.Read()
If Not dr.GetValue(0) Is DBNull.Value Then _
strTitle = dr.GetString(0)
strDirector = dr.GetString(1)
End While
'Assign Variables to the data labels which will display them'
lblTitle.Text = strTitle
lblDirector.Text = strDirector
'Close Orcale Connection'
conn.Close()
'Set Focus to movieid textbox'
txtMovieID.Focus()
End Sub
End Class
Неправильный синтаксис SQL. Используйте «UNION ALL», чтобы получить оба результата: 'Выбрать ... Из P_MOVIES Где ... Союз Все Выберите ... От P_TV_SHOWS Где ...'. Кроме того, используйте параметры вместо конкатенации MovieID, TvId из-за проблем с SQL-инъекциями. –