Como saber si una columna es "Auto incrementar" en DB SQLite

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Saludos a todos!

Estoy terminando un proyecto para unir varias DB's en una sola :) , pero tengo un problema (otra vez) :sorry: , necesito hacer un filtro para saber cuales son las columnas "Autoincrementar" (por ejemplo el ID que muchos usamos en nuestras DB's) :pc: , me surge este problema ya que el Query debe tener "NULL" en este tipo de campos, pero como hay DB's que contienen este tipo de campos también hay DB's que no los contienen, por ello necesito realizar ese filtro en el proyecto, para saber si en el Query colocar "NULL" o no colocarlo.

De antemano gracias.
Espero sus respuestas.
Saludos Dow Sher

si utilizas sqlite3 mírate la funcion stmt:get_named_types.

http://lua.sqlite.org/index.cgi/doc/tip ... lite3.wiki

En AMSFiles hay un ejemplo "example_Sqlite_Tiny" donde se usan estas funcione del statement.

rafaxplayer lamentablemente no estoy usando SQLite 3. Pero gracias por tu respuesta, espero puedas ayudarme

Sra que no se puede hacer un salto en la primera linea de copiado algo asi como
-1

la funcion de lua type(x) te devolvera un string con lo que es

a=1
b="2"
c=false
e={1,2}

type(a)=="number"
type(b)=="string"
type(c)=="boolean"
type(e)=="table"

Estoy usando el plugin SQLite que viene en el Power Pack.
En el plugin viene la siguiente función:
SQLite.GetRowColumnTypesAssoc (database dbHandle);
Imagen
Pero no logro entender como funciona, ¿Me podrían ayudar?
Yo he probado esas mierdas de funciones y tampoco he sacado nada en claro , se supone que hay que usar primero sqlite.copile()pero ni así.

Bueno se em ocurre que hagas un querytotabel con "PRAGMA table_info(table-name)" para obtener la información de la tabla.

Luego con tiempo lo mirare mejor.

De que hace las funciones de copiar y unir tablas en 1 sola db si lo hace el señor dow me paso una ayuda , la ejecute y logre fucionar 6 db en 1 sola, cada db con 2 tablas internas y funciono perfecto.

Re:

comprotodo201480 escribió:De que hace las funciones de copiar y unir tablas en 1 sola db si lo hace el señor dow me paso una ayuda , la ejecute y logre fucionar 6 db en 1 sola, cada db con 2 tablas internas y funciono perfecto.
No es eso lo que quiere, si no tienes ninguna sugerencia , dejalo nen...
Uff...
Después de un arduo trabajo de investigación en distintos foros y un golpe de suerte obtuve este Script con el cual se obtiene el tipo de campo de cada columna de una base de datos.

Utilice el plugin SQLite que viene en Power Pack.
db = SQLite.Open(Database_Pacth);
SQLite.Compile(db, "SELECT * FROM your_table_name");
if (nLastError ~= SQLite.OK ) then
  Debug.ShowWindow(true);
  Debug.Print("Error (".. nLastError .."): ".. SQLite.GetErrorString(nLastError) .. "\r\n");
else
 Debug.ShowWindow(true);
  repeat
    SQLite.Step(db);
      nLastError = Application.GetLastError();
        if (nLastError == SQLite.ROW) then
          nColumnTypes = SQLite.GetRowColumnTypesArray(db);
            for index = 1, Table.Count(tbColumnTypes) do
              Debug.Print("La columna "..index.." es del tipo: " .. tbColumnTypes[index] .."\r\n");
            end
              Debug.Print("----\r\n");
  until (nLastError ~= SQLite.ROW);
end
rafaxplayer ya se porque la funciones no servían, para utilizar una función como SQLite.GetRowColumnTypesArray() debes de usar antes SQLite.Compile() pero al mismo tiempo la función SQLite.Compile() te pide que uses SQLite.Step() para obtener una sola fila de resultado y con todo eso echo ahora si servirían las funciones:
GetRowDataArray
GetRowDataAssoc
GetRowColumnNamesArray
GetRowColumnTypesArray
GetRowColumnTypesAssoc

Ahora ya sabemos porque no podíamos usar algunas funciones del plugin SQLite, ¿aunque para que poner tantos requisitos para usarlas? pero bueno yo no cree el plugin y el que lo creo sus razones tuvo para poner tantas trabas, de cualquier forma se debe ser agradecido por haberlo creado.

Espero que a muchos les sirva esta info, Saludos Dow Sher :friends:
Posdata: El problema es que no se puede obtener si es "Auto incrementar" :(

Muy buen trabajo, Felicitaciones

A Rafax gracias por el regaño