2010-04-16 23 views
6

En visual studio datasource designer ¿hay alguna forma de actualizar una tabla y sus relaciones/restricciones de clave externa mientras se mantienen las consultas personalizadas?Visual Studio DataSet Designer Refresh Tables

La forma en que lo estoy haciendo en este momento es quitar la mesa y volver a agregarla. Esto agrega todas las relaciones y actualiza todos los campos.

Además, si cambio un tipo de datos de campos, ¿hay alguna forma de actualizar automáticamente todos los campos en el origen de datos? De nuevo sin borrar la tabla y agregarla de nuevo.

La razón de esto se debe a que algunos de mis TableAdapter tienen bastantes consultas complejas adjuntas y cuando elimino la tabla, el adaptador también se elimina, incluidas todas sus consultas.

Estoy usando Visual Studio 2008 y conectándome a una base de datos MySQL.

Any1 ¿Alguna idea?

Respuesta

6

Cada tabla tiene una consulta predeterminada (La que está en la parte superior con la marca de verificación). Cuando arrastraste tus tablas al conjunto de datos para crear la consulta, escribió una declaración SQL que usa para esquematizar tu tabla. Mantenga la consulta simple, puede que no la use realmente en el código, y siempre puede editar esa consulta para actualizar el esquema de la tabla.

Cada vez que abre la consulta predeterminada, se conecta a su fuente de datos y le permite seleccionar nuevas columnas que no estaban allí antes. Si desea actualizar sus columnas existentes, elimine todas las columnas de la tabla antes de intentar abrir la consulta. Cuando guarda la consulta, sus columnas actualizadas se vuelven a agregar.

Asegúrate de que tu cadena de conexión tenga permisos para ver la información de la columna.

+0

Gracias por eso :) De hecho, he comenzado a usar NHibernate como se sugirió anteriormente, pero gracias de todos modos, esto me ayudó antes de comenzar a usar NHibernate. –

+0

No funcionó para mí. – SeaDrive

+0

"lo usa para esquematizar su tabla" no tiene mucho sentido. (El esquema es más que una lista de columnas.) Tratar con una columna con una longitud revisada, ninguna cantidad de "actualización" en el DataSet, la tabla en cuestión o la columna en la tabla parecen comunicarse con el xsd. Pude expandir el objeto DataTable, seleccionar la columna y editar es la propiedad MaxLength en la lista de propiedades. (Pero deja la pregunta de por qué "actualizar" no está refrescando sin respuesta. Ahora con VS2012, pero estoy seguro de que tuve este mismo problema con VS2008). – fortboise

1

Puede agregar/cambiar/eliminar campos y relaciones, pero le sugiero que busque en NHibernate.

1

Debería poder hacer clic con el botón derecho en el conjunto de datos en el explorador de soluciones y seleccionar "Ejecutar herramienta personalizada" para actualizar la tabla y su consulta/relaciones.

Si ese comando no está allí, verifique que las propiedades del conjunto de datos tengan "MSDataSetGenerator" en el campo Herramienta personalizada.

+0

No funcionó para mí. – SeaDrive

1

Informé esto a MSFT pero no hubo respuesta. El diseñador se cuelga todo el tiempo en las declaraciones SQL más simples. Lo que encontré que funciona para mí es.

  1. Agregue una nueva tabla al diseñador.
  2. Guárdalo.
  3. Apague Visual Studio 2010.
  4. inicio VS 2010.
  5. añadir una o dos más sentencias SQL y siga los pasos 2-4 de nuevo.

Esto es un dolor en el cuello, pero es lo único que impide que se cuelgue el diseñador de conjuntos de datos de Visual Studio. Experimenté en este mismo tema en VS 2008. Me estoy conectando a Oracle, pero sigo desconectando VS y comenzando a funcionar otra vez, pero realmente, esto no tiene sentido.

0
  1. Haga clic derecho sobre el nombre de conjunto de datos y seleccione Propiedades del conjunto de datos
  2. debajo del cuadro de consulta, verá un botón para actualizar los campos.
  3. Haga clic en el Diseñador de consultas y el nuevo campo debe aparecer en su lista de tablas.
Cuestiones relacionadas