Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Pequeña ayuda con visual studio..

Iniciado por player, 19 de Octubre de 2009, 07:48:50 PM

« anterior - próximo »

player

Darago, muchísimas gracias. No conocía esa página y es un lujo, hay muchos ejemplos que por fin funcionan y no dan error de conexión con la base de datos y permiten guardar los cambios y borrar y demás.

A ver si soy capaz de adaptar el ejemplo que he cogido a lo que necesito, hay algunas cosas que necesito que no aparecen, pero bueno, primero haré lo básico y luego intentaré completar lo que me falta.

A ver si lo consigo, espero que sí. Gracias de nuevo.

Darago_malaga

Pues no dudes en pedir ayuda con lo que te atranques....por estos lares hay gente mu competente dispuesta a ayudar. Animo y a la lucha.



player

Cita de: Darago_malaga en 28 de Noviembre de 2009, 02:24:32 PM
Pues no dudes en pedir ayuda con lo que te atranques....por estos lares hay gente mu competente dispuesta a ayudar. Animo y a la lucha.
Pues sí, aquí hay gente que sabe muchísimo y es de agradecer cuando te echan un cable. Lo que más tienen es paciencia para aguantar a burros como yo :P

player

A ver si me podéis ayudar con esta duda que tengo.

Tengo 2 comboBox, el comboBox1 tiene como origen de datos a la tabla Empresa y como mostrar miembro el Nombre de Empresa.

En el comboBox2 quiero que se muestren los artículos que vende dicha empresa (tengo asociadas la tabla Artículo y Empresa), la orden select sería:

select Nombre_Articulo
from Articulos
where Nombre_Empresa like 'lo que aparezca en ComboBox1';

pero no tengo ni idea de como hacerlo, ya que no veo que el comboBox me deje hacer consultas sql y con las opciones que me da de:

Origen de datos, mostrar miembro, miembro de valor, valor seleccionado...no veo como hacer la relación.

De un modo gráfico-ratero, la cosa sería así:



Los valores que guarde en el ComboBox, se guardarán también en la base de datos no?

Vicente

Puedes hacer la query contra la BD, recoger los resultados, guardarlos en una lista y poner esa lista como origen de datos del combobox.

Un saludo,

Vicente

player

#35
Y puedo hacer esa query sin agregar ningún origen de datos? Es que si lo hago así, me crea un dataset y un bindingsource automáticamente, y no quiero eso, lo estoy haciendo todo a base de escribir código sin agregar ningún botón de datos. Si fuera así, agradecería algún ejemplo o link con algún ejemplo, que no he encontrado nada.

Y otra cuestión. Dentro del proyecto, en la carpeta donde están todos los Form y demás, tengo la base de datos .mdb y dentro de la carpeta Debug, donde crea el exe, tengo también la base de datos .mdb (si no es así me da un error al generar el proyecto :-\)

Lo que pasa que cuando ejecuto el exe y agrego datos desde el formulario, esos datos me los guarda en la base de datos de la carpeta Debug, pero en la otra carpeta la base de datos no sufre ningún cambio.

En cambio, si le doy a generar dentro del Visual Studio, me borra todos los datos que tenía guardados en la base de datos de la carpeta Debug, y sólo quedan los datos de la base de datos de la otra carpeta (los datos base que había metido al crear la base de datos en access).

Hay alguna explicación? Eso es así o me pasa algo raro?

Gracias.


Vicente

Hola,

1) no entiendo que es lo de "escribir una query sin ningún origen de datos" :S La query tiene que ir contra una BD. Si no quieres que VS te cree todo automáticamente, conéctate tu normalmente usando la clase ConnectionString (luego ejecutas un Command y le pasas por ahí la ConnectionString). Pero creo que no entiendo lo que quieres hacer...

2) Lo que te pasa es normal. Tu tienes la BD dentro de tu proyecto, si te vas a properties, verás que tiene seguramente una propiedad que vale "Copy Always" o "Copy if newer" or algo así. Eso significa que cuando compilas la BD se copia a la carpeta Debug/Release para cuando ejecutes el programa. Entonces, si editas desde el VS estás editando la BD del proyecto, pero si editas desde tu aplicación, estás editando la de la carpeta debug (que es una copia de la original que se genera cada vez que compilas).

Un saludo,

Vicente

player

Sí, eso es lo que quería hacer Vicente, lo que has puesto en el paso 1. Me he pasado toda la noche sin dormir pero ya lo he conseguido, ya me va quedando menos para acabar esto.

Gracias.

player

Por cierto, sabéis por qué aquí en mi ordenador si ejecuto la aplicación me sale todo bien con los colores de fondo, el color de letra etc que yo he elegido y si lo ejecuto en otro ordenador, no me sale el color de fondo ni el color de letra con el que he hecho la aplicación?

He codigo un color de letra negro y he agregado unas barras negras y demás y en el otro ordenador se ve todo blanco, incluso la letra al rellenar los campos de los textbox.

Hechelion

Cunado seleccionas un color, fiajte que tienes dos paletas de colores, una es de sistema (Colores que usa el OS y que pueden variar si has hecho tunning sobre tu OS) y la otra son colores en base a RGB (La pestaña "personalizado" ), para que el color sea independiente del OS debes usar esa pestaña o pasar los colores en RGB mediante código.

player

Ya he localizado lo de los colores. Lo he modificado todo a colores personalizados y sólo me aparece modificado uno de los formularios, el resto siguen igual  Oo

player

Bueno, estoy intentado hacer de lo último que me queda pero no lo consigo.

Estoy en un formulario y me aparecen en un comboBox los codigos de clientes que tengo agregados en la tabla de clientes. Quiero que al seleccionar un código de cliente en el comboBox, los datos de los clientes (como nombre, apellidos, etc) me aparezcan en los distintos textBox que tengo preparados para ello en el formulario de forma automática (en vez de agregarlos yo manualmente, que me aparezcan automáticamente). He intentado hacerlo mediante un botón que llama a una función que muestra los datos en los distintos textBox pero me daba un error de system.indexoutofrangeexception. Así que no sé qué hacer, alguna sugerencia?

Vicente

Esa excepción es que has accedido a un array o una lista y has cogido un elemento que no existe (la lista tiene 4 elementos y has cogido el 5). Mira la línea donde te da, debería ser bastante fácil de arreglar depurando un poco.

player

#43
Para afinar más, me dice:

Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en System.Data.dll

Información adicional: No coinciden los tipos de datos en la expresión de criterios.

Y marca en verde la línea de código datareader = com1.ExecuteReader();

Edito, ya lo conseguí!!!!! Estaba poniendo el nombre de las columnas mal, tenía que poner el nombre de las tablas de donde quiero que vengan los datos y no el nombre de las tablas donde quería que se guardaran ^_^' Uff al final ha resultado ser muy fácil pero un fallo de estos te varias horas liado.

Darago_malaga

Que buenocuando los proyectos van saliendo.... eh???






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.