Traductor con bases de datos

Iniciado por birdez, 31 Mayo 2012, 09:47 AM

0 Miembros y 2 Visitantes están viendo este tema.

birdez

Buenos dias a todos antes de nada queria pedir disculpas por si el post no va aqui ya q no se en que sitio ponerlo

Bueno os comento mi problema tengo que realizar un traductor en visual basic .net con bases de datos en access (hecha por mi, la cual tiene una tabla y 4 campos, id, palaras español, palabras ingles, y numero de uso, esto es por ejemplo si una palabra tiene mas de una traduccion utilizar siempre la q tenga mayor numero de uso)

mi problema es q no se muy bn como hacerlo ya que quiero comprobar si la palabra introducida en un textbox la tengo en mi base de datos y de ser asi q me imprima la traduccion en otro textbox lo q ocurre sq no se mb como hacerlo

alguien puede ayudarme con este problemilla?

gracias

Roboto

#1
[id][Palabra-Español]    [Palabra-Ingles] [hits]
1       palabra1             word1                 10
2       p**a                   bitch                   100
3       p**a                   whore                    99

lo k haces esk al buscar en el texbox 1 una palabra con un radiobutton puesto en ingles.

te coja la palabra del txtbox1 y buske en la base de datos.
lo k tienes k hacer es en el sql de buskeda meterle un order by hits.

cada vez k alguien haga una buskeda,si coincide con la palabra,por ejemplo:

en el textbox pongo,capullo,le sumaria un hit.



lo k debe hacer google,ellos mismos le dan a las palabras una prioridad por uso.
ya k si buscas p**a,saldran las 2 traducciones en ingles y tu no sabras la k tiene mas prioridad para ti.
tienes k darle tu una prioridad generica.

si yo soy tu,les daria a las palabras prioridades genericas,les daria el hit de forma establecida:

[id][Palabra-Español]    [Palabra-Ingles] [hits]
1       palabra1             word1                 10
2       p**a                   bitch                   1
3       p**a                   whore                   2

y lo ordenaria de menor a mayor

birdez

es lo q tu llamas hits digamos q nos pidio q fuese como un contador por ejemplo yo tengo en mi base de datos en acces

    [id]      [español]   [ingles]    [usadas]

     1         hola           hello        2
     2         hola           hi            1


pues el programa tiene q mirar el numero de veces q sea usado cada palabra y coger la q mas usos tenga, en este caso hello, y deberia aumentar una vez mas el numero de usadas que seria 3 asi con cada repeticion de palabras


y otro problema q tengo es que si quiero poner que la palabra del textbox sea igual a la de mi base de datos no consigo que me la detecte ni igualandola al dataset ni al bindingsource ni nada alomejor es una tonteria pro ns xq me pasa eso :S

gracias x la ayuda

birdez

Hola a ver si podeis ayudarme para traducir una palabra la busco en el data set mediante una secuencia select

select * from palabras where español = ?  // para que me escoja la palabra en español q yo le paso

pro ahora mi duda es como puedo comparar la palabra en español con la de ingles como puedo hacer para q el programa sepa q si le digo la palabra "hola" sepa q es "hi"

la base de datos la tengo en acces y la "escructura" es asi :

usadas: es el numero de veces q sea ha usado esa palabra y tiene q ir aumentando a menida q se vaya usando

[id]      [español]   [ingles]    [usadas]

     1         hola           hello        2
     2         hola           hi            1

Roboto

Cita de: birdez en 31 Mayo 2012, 20:57 PM
Hola a ver si podeis ayudarme para traducir una palabra la busco en el data set mediante una secuencia select

select * from palabras where español = ?  // para que me escoja la palabra en español q yo le paso

pro ahora mi duda es como puedo comparar la palabra en español con la de ingles como puedo hacer para q el programa sepa q si le digo la palabra "hola" sepa q es "hi"

la base de datos la tengo en acces y la "escructura" es asi :

usadas: es el numero de veces q sea ha usado esa palabra y tiene q ir aumentando a menida q se vaya usando

[id]      [español]   [ingles]    [usadas]

     1         hola           hello        2
     2         hola           hi            1




muy facil,ahora no se la estructura xD,pero te dire como.

tu tienes 4 campos en la tabla (4 columnas).
lo k tienes k hacer es k te sake la fila entera.

a ver,tu comparas

select ingles from palabras where español = "Hola";

entonces te llevara aki
[id]      [español]   [ingles]    [usadas]

     1         hola           hello        2


con poner esa select te saka la palabra en ingles,no hay k hacer mas

birdez

mira en el Dataset yo ice esta consulta:

Select * from Plabras where espñaol = ? ;

para que me sacare la palabra q yo le paso (q es como me enseñaron ami q se ace q al poner? te refieres a un dato q tu le pasas)

y despues en el codigo puse esto :


If RadioButtonEsp.Checked = True Then

                If PalabrasTableAdapter.FillByPalabrasIngles(Me.DiccionarioDataSet.Palabras, TextBox1.Text) Then
                    MessageBox.Show("La palabra existe")
                Else
                    MessageBox.Show("La palabra NO existe")
                End If
End if


y lo puse para comprobar si me encontraba palabras que habia en mi base d datos y la verdad q em las saca asi q supongo q eso esta bn

lo que no se ace ahora es para comparar la palabra q yo le paso con la de mi base de datos

por ejemplo le paso la palabra gato q la tengo y tal y como esta me aparece q existe ( xq asi lo pone el messagebox) pro yo no qiero hacer eso quiero q me identifique me refiero a esa palabra y acer la manera q me saque la palabra ingles ns si me explico bn

gracias x la ayuda

Roboto

Cita de: birdez en  1 Junio 2012, 15:57 PM
mira en el Dataset yo ice esta consulta:

Select * from Plabras where espñaol = ? ;

para que me sacare la palabra q yo le paso (q es como me enseñaron ami q se ace q al poner? te refieres a un dato q tu le pasas)

y despues en el codigo puse esto :


If RadioButtonEsp.Checked = True Then

                If PalabrasTableAdapter.FillByPalabrasIngles(Me.DiccionarioDataSet.Palabras, TextBox1.Text) Then
                    MessageBox.Show("La palabra existe")
                Else
                    MessageBox.Show("La palabra NO existe")
                End If
End if


y lo puse para comprobar si me encontraba palabras que habia en mi base d datos y la verdad q em las saca asi q supongo q eso esta bn

lo que no se ace ahora es para comparar la palabra q yo le paso con la de mi base de datos

por ejemplo le paso la palabra gato q la tengo y tal y como esta me aparece q existe ( xq asi lo pone el messagebox) pro yo no qiero hacer eso quiero q me identifique me refiero a esa palabra y acer la manera q me saque la palabra ingles ns si me explico bn

gracias x la ayuda



tu tienes un textbox k lo llamaras txt1.
cuando alguien pone en ese textbox la palabra "gato" en el textbox2 txt2 saldra "cat"

en el evento click del boton enviar tendras algo asi:

onclick_button(sender e,........){


String PalabraTxt1=txt1.text; ---> Esto guarda "gato" en la var palabratxt1.

// luego haces la select

//Select * from Plabras where espñaol = ? --> kita el * ya k solo kieres k te muestre la palabra en ingles,el resto no interesa

Select Ingles from Palabras where Español= PalabraTxt1; --> ahi estas comparando,estas buscando en la base de datos si coincide.


cuando obtengas la palabra,la muestras en el txt2.text y ya esta.

}

birdez

 te comento ice como me dijiste pro en el DataSet tengo q poner esta consulta

SELECT        Ingles
FROM            Palabras
WHERE        (Español = ?)


sino me da error en el where al ejecutar la consulta desde el Dataset ( para comprobar q al poner gato me sale cat)
ahí en el data set si q me sale
pro después en el código no me sale me vuelve a salir gato en vez de cat

si quieres te paso el cachin de código como lo tengo ahora sq si t lo paso todo a lo mejor es mas lioso lo entenderás bn pro antes tengo cosas puestas en plan si eliges esta opción en el combobox que te aparezca este mensaje sino que haga esto y cosas así

Roboto

postea el programa entero k llevas haciendo,quiero echarle una ojeada

birdez

que te postee el codigo entero o el proyecto entero la aplicacion de visual basic dices?

sea lo q sea lo q quieras explicame como debo hacerlo xfa