See pragma table_info 2012/2/9 rod <crimson.blu...@gmail.com>: > My apologies if this question should be directed to some other list. > > I'm looking for a better way to printout the: > Column Headers, > followed by the table contents - > in comma separated value (csv) format > from a SELECT statement: > > > So far I have two solutions, neither seems elegant enough. > > First solution I add the rowid tag after the * then check to see if > rowid==1 in the output and if so print the headers first > > <snip solution 1> > > # the following code should print the headers and the > # results from the SELECT command in CSV format > sql eval { > SELECT *, rowid \ > FROM Fxyz_max_min limit 10} row { > # if at first row print headers first > if $row(rowid)==1 {puts [join $row(*) "\t"] } > # define an EMPTY list > set b_list {} > foreach col $row(*) {lappend b_list $row($col)} > set b_list [join $b_list "\t"] > #write list > puts $b_list > } > > </snip solution 1> > > > The second solution makes use of a test of count > (not really a counter just gets set to 1 instead of 0) > > <snip solution 2> > set count 0 > sql eval { > SELECT * \ > FROM Fxyz_max_min limit 10} row { > # define an EMPTY list > if $count==0 {puts [join $row(*) "\t"] } > set count 1 > set b_list {} > foreach col $row(*) {lappend b_list $row($col)} > set b_list [join $b_list "\t"] > #write list > puts $b_list > } > > </snip solution 2> > > > > > Each of these needs something added; either the rowid to the output or > a counter test. > is there a better way?? > > > Thanks > > P.S. can the TCL sqlite3 statement open the database using command switchs > (ie --cvs -headers) > -- > -Rod > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
-- Best regards, Alexey Pechnikov. http://pechnikov.tel/ _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users