Visual Basic.NET - consulta en mysql

 
Vista:

consulta en mysql

Publicado por luis (3 intervenciones) el 10/03/2011 08:21:35
ke tal amigos, aka molestando otra vez, el problema ke tengo es ke no puedo obtener bien una consulta ya ke de la forma ke lo se hacer me mada varios resultados y solo se puede mostrar uno y ahi es donde me truena el programa. tengo dos tablas una se llama contactos y esta formada por id_usuario, id_usuario_amigo y status. y la otra se llama conversacion y esta formada por autor_id, autor_nombre, fecha, mensaje, id_conversacion. y los resultados los muestro en un richtextbox, todo mi kodigo es el siguiente:

Dim sql5 As String
Dim cn5 As MySqlConnection
Dim cm5 As MySqlCommand
Dim dr25 As MySqlDataReader

cn5 = New MySqlConnection("Data Source=localhost;Database=redsocial;User ID=root; Password=aaa; Allow Zero Datetime=True; CHARSET=latin1")
cn5.Open()
sql5 = "select * from conversacion where autor_id ='" & Me.id_usuario & "' and autor_id= (select id_usuario_amigo from contactos where id_usuario='" & Me.id_usuario & "' and status=ok) order by id_conversacion"
cm5 = New MySqlCommand()
cm5.CommandText = sql5
cm5.CommandType = CommandType.Text
cm5.Connection = cn5
dr25 = cm5.ExecuteReader()

While dr25.Read()
RichTextBox1.AppendText("+ " & dr25.Item("autor_nombre") & " publicó mensaje " & " el " & dr25.Item("fecha"))
RichTextBox1.AppendText(vbCrLf & " " & dr25.Item("mensaje") & vbCrLf & vbCrLf)

End While
cn5.Close()

en la clausula select al final el segundo select manda varios resultados y ahi es donde truena el programa porke en la forma en ke lo hago solo puede mostrar uno.

porfas se los agradeceria mucho si me ayudaran
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

consulta en mysql

Publicado por Damian (824 intervenciones) el 11/03/2011 14:16:27
Por lo que puedo apreciar en la subconsulta tu problema esta en la parte "autor_id= (select id_usuario_amigo....."

ya que debes tener muchos "id_usuario" que sean igual a "autor_id", por lo tanto eso deberia quedar asi:

"autor_id in(select id_usuario_amigo....."

O sea debes sacar el "=" y poner "in"

Cualquier cosa nos comentas. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar