Jump to content

[HELP]DB functions


Recommended Posts

This line error;6

for i,v in ipairs(data) do

  
function initSQLTable(tab, data) 
    local ctab = executeSQLQuery("SELECT sql FROM sqlite_master WHERE type='table' AND name=?", tab)[1] 
    if ctab then 
        local qs = {} 
        for i,v in ipairs(data) do 
            local n, t, d = unpack(v) 
            if not string.find(ctab.sql, n) then 
            if t and d then 
                d = "'" .. d .. "'" 
            end 
            local qc = "ALTER TABLE ? ADD COLUMN " .. n .. " " 
            if t then 
                qc = qc .. "TEXT" 
            else 
                qc = qc .. "INTEGER" 
            end 
            if d then 
                qc = qc .. " DEFAULT " .. d .. " NOT NULL" 
            end 
            table.insert(qs, qc) 
            end 
        end 
        for i,v in ipairs(qs) do 
            executeSQLQuery(v, tab) 
        end 
    else 
        local query = "CREATE TABLE IF NOT EXISTS ? (" 
        for i,v in ipairs(data) do 
            local n, t, d = unpack(v) 
            if t and d then 
            d = "'" .. d .. "'" 
            end 
            local qc = n .. " " 
            if t then 
            qc = qc .. "TEXT" 
            else 
            qc = qc .. "INTEGER" 
            end 
            if d then 
            qc = qc .. " DEFAULT " .. d .. " NOT NULL" 
            end 
            if i ~= 1 then 
            qc = ", " .. qc 
            end 
            query = query .. qc 
        end 
        query = query .. " )" 
        executeSQLQuery(query, tab) 
        outputDebugString(query) 
    end 
end 
  
function addSQLRow(tab, data) 
    local rowsstr = "" 
    local valsstr = "" 
    local vals = {} 
    local i = 1 
    for k,v in pairs(data) do 
        if i ~= 1 then 
            rowsstr = rowsstr .. "," 
            valsstr = valsstr .. "," 
        end 
        rowsstr = rowsstr .. k 
        valsstr = valsstr .. "?" 
        table.insert(vals, v) 
        i = i + 1 
    end 
    executeSQLQuery("INSERT INTO ? (" .. rowsstr .. ") VALUES (" .. valsstr .. ")", tab, unpack(vals)) 
end 
  
  
  

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...