Table creation/Postal addresses: Difference between revisions
Content added Content deleted
(→{{header|Visual FoxPro}}: added zkl) |
|||
Line 1,194: | Line 1,194: | ||
USE address.dbf SHARED |
USE address.dbf SHARED |
||
</lang> |
</lang> |
||
=={{header|zkl}}== |
|||
{{trans|AWK}} |
|||
Interact with SQLite via the command line. |
|||
<lang zkl>const NM="address.db"; |
|||
dbExec(NM,"create table address (street, city, state, zip);");</lang> |
|||
<lang zkl>fcn dbExec(db,qry){ dbErrorCheck(dbMakeQuery(db,qry),String(db," : ",qry)) } |
|||
fcn dbMakeQuery(db,qry){ |
|||
qry=dbEscapeQuery(qry) + ";"; |
|||
cmd:=String("echo \"", qry, "\" | sqlite ", db); |
|||
reg r; |
|||
p:=System.popen(cmd,"r"); |
|||
try{ r=p.readln(*) }catch(TheEnd){} // r==Void if sqlite doesn't print |
|||
p.close(); |
|||
r |
|||
} |
|||
fcn dbEscapeQuery(qry){ qry.replace(0'|"|, 0'|\"|) } |
|||
fcn dbErrorCheck(listOfStrings){ |
|||
if(listOfStrings and listOfStrings[-1].holds("SQL error")) |
|||
throw(Exception.IOError(listOfStrings.concat().strip())); |
|||
True |
|||
}</lang> |