Table creation/Postal addresses: Difference between revisions

Line 1,194:
USE address.dbf SHARED
</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>
Anonymous user