una tipo tabla stored procedimientos procedimiento pasar parametros parametro para optimizar lentas insertar datos consultas consulta con como almacenados almacenado database vb.net visual-studio-2005

database - tipo - Crear tabla DB desde la tabla de conjunto de datos



tabla de parametros (2)

¿Es posible (en Vb.Net 2005), sin analizar manualmente las propiedades de la tabla del conjunto de datos, crear la tabla y agregarla a la base de datos?

Tenemos versiones antiguas de nuestro programa en algunas máquinas, que obviamente tienen nuestra base de datos anterior, y estamos buscando una forma de detectar si falta una tabla y luego generar la tabla en función del estado actual de la tabla en el conjunto de datos. Estamos reescribiendo la tabla cada vez que lanzamos una nueva versión (si se agregaron nuevas columnas), pero nos gustaría evitar este paso si es posible.


Aquí está el código

SqlConnection con = new SqlConnection("Data Source=.;uid=sa;pwd=sa123;database=Example1"); con.Open(); string sql = "Create Table abcd ("; foreach (DataColumn column in dt.Columns) { sql += "[" + column.ColumnName + "] " + "nvarchar(50)" + ","; } sql = sql.TrimEnd(new char[] { '','' }) + ")"; SqlCommand cmd = new SqlCommand(sql, con); SqlDataAdapter da = new SqlDataAdapter(cmd); cmd.ExecuteNonQuery(); using (var adapter = new SqlDataAdapter("SELECT * FROM abcd", con)) using(var builder = new SqlCommandBuilder(adapter)) { adapter.InsertCommand = builder.GetInsertCommand(); adapter.Update(dt); } con.Close();

Espero que haya resuelto el problema. aquí dt es el nombre de la tabla de datos. alternativamente puede reemplazar

adapter.update(dt);

con

adapter.Update(ds.Tables[0]); //if u have a dataset

¡Por favor, vote mi respuesta si cree que le he dado una respuesta!


Vea esta publicación en el foro de MSDN: Crear una nueva tabla en SQL Server desde ADO.net DataTable .

Aquí el póster parece tratar de hacer lo mismo que usted y proporciona un código que genera una declaración Crear tabla usando el esquema contenido en una tabla de datos.

Suponiendo que esto funciona como debería, podría tomar ese código y enviarlo a la base de datos a través de SqlCommand.ExecuteNonQuery() para crear su tabla.