none
crear tabla en base a una consulta RRS feed

  • Pregunta

  •          

    quiero hacer una consulta a mi base de datos en la tabla "Elements_of" y   crear una tabla llama" de acuerdo a el contenido del textbox suppliers" en la base de datos con el resultado de la consulta 

    el compilador me dice "Error de sintaxis en la instrucción CREATE TABLE."

      oleDbConnection1.Open();
                oleDbCommand1.CommandText = (" CREATE TABLE  + suppliers.text+  AS (SELECT Id, PRODUCT_NAME, DESCRIPTION, QUANTITY FROM Elements_of WHERE ([SELECT] = true)");
                oleDbCommand1.ExecuteNonQuery();
                oleDbConnection1.Close();

    lunes, 21 de octubre de 2013 21:25

Respuestas

  • No, el CREATE TABLE no permite pasarle la lista de registros para que la tabla se cree con ellos. En su lugar hay que usar un SELECT...INTO:

    "SELECT Id, PRODUCT_NAME, DESCRIPTION, QUANTITY INTO "+suppliers.text+" FROM Elements_of WHERE ([SELECT] = true)"

    Eso crea la tabla y la rellena de datos. Ojo: permite inyecciones de SQL a través del suppliers.text.

    Editado: Y ojo con el "[SELECT]=true". Si el campo [SELECT] es de tipo bit, hay que poner "[SELECT]=1".

    martes, 22 de octubre de 2013 14:55