亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sqlitetablelist.mht

?? TCL的數據庫處理支撐庫及一些示例
?? MHT
?? 第 1 頁 / 共 5 頁
字號:
From: =?gb2312?B?08kgV2luZG93cyBJbnRlcm5ldCBFeHBsb3JlciA3ILGjtOY=?=
Subject: SQLiteTablelist
Date: Wed, 16 Apr 2008 23:12:20 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_001A_01C8A017.528B4510"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16545

這是 MIME 格式的多方郵件。

------=_NextPart_000_001A_01C8A017.528B4510
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://wiki.tcl.tk/15631

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den><HEAD><TITLE>SQLiteTablelist</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<STYLE type=3Dtext/css media=3Dall>@import url( /wikit.css );
</STYLE>
<LINK title=3DRSS href=3D"/rss.xml" type=3Dapplication/rss+xml =
rel=3Dalternate><!--[if lte IE 6]>=0A=
		<style type=3D'text/css' media=3D'all'>@import 'ie6.css';</style>=0A=
	<![endif]--><!--[if gte IE 7]>
<STYLE type=3Dtext/css media=3Dall>@import url( ie7.css );
</STYLE>
<![endif]-->
<SCRIPT type=3Dtext/javascript>=0A=
	    function init() {=0A=
		// quit if this function has already been called=0A=
		if (arguments.callee.done) return;=0A=
=0A=
		// flag this function so we don't do the same thing twice=0A=
		arguments.callee.done =3D true;=0A=
=0A=
		try {=0A=
		    checkTOC();=0A=
		} catch (err) {=0A=
		    /* nothing */=0A=
		}=0A=
	    };=0A=
=0A=
	    /* for Mozilla */=0A=
	    if (document.addEventListener) {=0A=
		document.addEventListener("DOMContentLoaded", init, false);=0A=
	    }=0A=
=0A=
	    /* for Internet Explorer */=0A=
	    /*@cc_on @*/=0A=
	    /*@if (@_win32)=0A=
	    document.write("<script defer src=3Die_onload.js><\/script>");=0A=
	    /*@end @*/=0A=
	    =0A=
	    /* for other browsers */=0A=
	    window.onload =3D init;=0A=
	</SCRIPT>

<META content=3D"MSHTML 6.00.6000.16643" name=3DGENERATOR></HEAD>
<BODY>
<DIV class=3Dcontainer>
<DIV class=3Dheader>
<DIV class=3Dlogo><A class=3Dlogo =
href=3D"http://wiki.tcl.tk/">wiki.tcl.tk</A> </DIV>
<DIV class=3Dtitle id=3Dtitle><A title=3D"click to see 2 references to =
this page"=20
href=3D"http://wiki.tcl.tk/_ref/15631">SQLiteTablelist</A></DIV>
<DIV class=3Dupdated id=3Dupdated>Updated 2007-09-06 16:29:25 by LV <A =
class=3Ddelta=20
href=3D"http://wiki.tcl.tk/_diff/15631#diff0">=E2=96=B2</A></DIV></DIV>
<DIV id=3Dwrapper>
<DIV id=3Dcontent>
<HR>

<P><IMG alt=3D"" =
src=3D"http://tkfp.sourceforge.net/SqliteTablelist.jpg"></P>
<HR>

<P>By <A href=3D"http://wiki.tcl.tk/2825">Alex Caldwell</A>.</P>
<P>This is a designer/viewer and editor for <A=20
href=3D"http://wiki.tcl.tk/2633">SQLite</A>3 databases. It uses the <A=20
href=3D"http://wiki.tcl.tk/5527">Tablelist</A> widget as the =
viewer/editor. It=20
allows both viewing and editing data in SQLite tables. It allows =
viewing, but=20
not editing SQLite views, since views are not editable in SQLite. =
Changes to the=20
data in the cells in a table are updated in the database automatically. =
You can=20
enter simple <A href=3D"http://wiki.tcl.tk/2097">SQL</A> queries and get =
the=20
results back in a <A href=3D"http://wiki.tcl.tk/477">Tk</A> text widget, =
a=20
Tablelist or both side by side. It was part of a medical project for =
setting up=20
a database of contacts with a mail merge set up. But I thought it would =
be=20
potentially useful as a generalizable tool for working with <A=20
href=3D"http://wiki.tcl.tk/2633">SQLite</A> databases from <A=20
href=3D"http://wiki.tcl.tk/445">Tcl</A>. I'm still working on it, so =
there are a=20
lot of random comments, puts statements and commented out junk that =
didn't work=20
in the code I posted. Sorry about that. In addition to the TclSqlite3 =
[<A=20
href=3D"http://www.tcl.tk/community/tcl2004/Papers/D.RichardHipp/drh.html=
"=20
rel=3Dnofollow>1</A>] [<A href=3D"http://www.sqlite.org/download.html"=20
rel=3Dnofollow>2</A>] extension and the Tablelist extension, it uses an =
<A=20
href=3D"http://wiki.tcl.tk/2081">Iwidgets</A> <A=20
href=3D"http://wiki.tcl.tk/1959">combobox</A> and an an Iwidgets <A=20
href=3D"http://wiki.tcl.tk/2248">paned window</A>, so it also requires =
the=20
Iwidgets extension of <A href=3D"http://wiki.tcl.tk/3087">IncrTcl</A>. =
Thanks to=20
the combobox's built in methods, it can store the SQL queries you type =
in, both=20
during and between sessions, so you can select them from a drop down =
list. If=20
you have a table named "SpokanePhysicians" that has fields named =
FirstName,=20
LastName and Address, you can try the simple "mail merge" demo feature =
by=20
selecting multiple rows and clicking on the "Fax" button. Or, edit the =
code to=20
use a different table name for your mail merging. It's only a demo of =
how the=20
idea would work, and does not actually link to any email or fax merging=20
program.</P>
<HR>

<P><B>CAUTION!!! NOT FOR PRODUCTION USE!!!</B></P>
<P>See discussion below regarding various possible problems. It works =
for our=20
simple database, but may cause problems with other more complex schema =
we have=20
not considered. Do <B>NOT</B> attempt to open an important database and =
try to=20
edit data without backup copies of your data, or it might irreversibly =
<B>DAMAGE=20
YOUR DATABASE!</B> It is a preliminary, and I felt potentially useful =
tool, but=20
has not been thoroughly tested, i.e. <B>I just barely got it working at =
all=20
yesterday!</B> I was hoping to get expert Tcler help for improving it =
and fixing=20
problems. But I was so excited that it was working, I couldn't resist =
posting it=20
on the Wiki. It has a lot of redundant code that needs to be broken out =
and put=20
in procs for reuse and efficiency. Also, why do I always seem to be =
needing to=20
use all those commands built up with a bunch of backquotes? I know there =
must be=20
a better way to do that. Also why can't I summarize a question or answer =
about=20
Tcl in just a few cryptic lines like others on the Tcler's Wiki? Why do =
I need=20
these run-on sentences? Is that why my code is so bloated and hard to=20
understand? Why? Why? Why?</P>
<HR>

<P>I have a "network" version of this program that connects to a Tcl =
server=20
using the Tcl <A href=3D"http://wiki.tcl.tk/1114">socket</A> library, so =
you can=20
connect to your SQLite database remotely. The Tablelist widget is a =
natural fit=20
with the network version, since it uses the Tcl <A=20
href=3D"http://wiki.tcl.tk/440">list</A> data structure, which is easy =
to send=20
over a socket. The <A href=3D"http://wiki.tcl.tk/1877">Tktable</A> =
widget uses the=20
Tcl <A href=3D"http://wiki.tcl.tk/1032">array</A> data structure, which =
has to be=20
"serialized" before it can be sent over the socket and then reassembled =
into=20
arrays on the other end. My network version has no encryption or =
authentication,=20
so it is not secure. But if you want that version, send me an email. It =
requires=20
another program that functions as the server that I did not post =
here.</P>
<HR>
<PRE> # by Alex Caldwell M.D
 # alcald2000@yahoo.com
 # with much help from
 # Dr. Jerry Park D.O.
 # park.jerry@gmail.com

 package require Tk
 package require Tablelist
 package require Iwidgets
 package require sqlite3

 #create some bitmaps for the fax and mail merge buttons
 #bitmaps were borrowed from addressbook-0.7 a Tcl/Tk program by Klemens =
Durka

 image create bitmap fax -data {
    #define fax_width 31
    #define fax_height 21
    static unsigned char fax_bits[] =3D {
        0xf0, 0xff, 0xff, 0x1f, 0x18, 0x00, 0x00, 0x10, 0x08, 0x00, =
0x00, 0x18,
        0xe8, 0x39, 0x21, 0x0b, 0x28, 0x44, 0x12, 0x0b, 0x28, 0x44, =
0x0c, 0x0b,
        0xe8, 0x7c, 0x0c, 0x0b, 0x2e, 0x44, 0x12, 0x38, 0x2a, 0x44, =
0x21, 0x2b,
        0x0a, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x28, 0xfa, 0xff, =
0xff, 0x2f,
        0x02, 0x00, 0x00, 0x20, 0xfa, 0xff, 0xff, 0x27, 0x0a, 0x30, =
0xf2, 0x24,
        0xfa, 0xff, 0xff, 0x2f, 0x02, 0x30, 0x92, 0x2c, 0x02, 0xf0, =
0xff, 0x2f,
        0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, 0xfe, 0xff, =
0xff, 0x3f};
 }
 image create bitmap mail -data {
    #define brief_width 31
    #define brief_height 21
    static unsigned char brief_bits[] =3D {
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, =
0xff, 0x3f,
        0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, 0x3a, 0x00, =
0x00, 0x27,
        0x02, 0x00, 0x00, 0x25, 0xba, 0x01, 0x00, 0x25, 0x02, 0x00, =
0x00, 0x27,
        0x02, 0x00, 0x00, 0x20, 0x02, 0xfc, 0x07, 0x20, 0x02, 0x00, =
0x00, 0x20,
        0x02, 0x7c, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, 0x02, 0xfc, =
0x79, 0x20,
        0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, 0x02, 0x00, =
0x00, 0x20,
        0xfe, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, =
0x00, 0x00};

 }
 image create bitmap email -data {
    #define email_width 31
    #define email_height 21
    static unsigned char email_bits[] =3D {
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, =
0xff, 0x3f,
        0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, 0x02, 0x00, =
0x00, 0x24,
        0x02, 0x00, 0x40, 0x24, 0x02, 0x00, 0x00, 0x24, 0x72, 0x2a, =
0x43, 0x24,
        0x8a, 0xbe, 0x44, 0x24, 0x7a, 0xaa, 0x44, 0x24, 0x0a, 0xaa, =
0x44, 0x24,
        0x72, 0x2a, 0xeb, 0x2e, 0x02, 0x00, 0x00, 0x20, 0x02, 0x00, =
0x00, 0x20,
        0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, 0x02, 0x00, =
0x00, 0x20,
        0xfe, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, =
0x00, 0x00};
 }

 set types {
    {{SQLite} {.db}}
    {{SQLiteExplorer} {.db3}}
    {{All Files} {*.*}}
 }

 sqlite3 db  [set database_name [tk_getOpenFile -initialdir "./" -title =
\
        "Choose Sqlite Database File" -filetypes $types]]

 wm title . "[file tail $database_name] - Tables"

 #Eval_Remote $sock {sqlite3 db ./medrolodex.db}

 # get the names of all the tables
 set table_names [db eval {SELECT name FROM sqlite_master WHERE =
type=3D'table' UNION ALL SELECT name  FROM sqlite_temp_master WHERE =
type=3D'table' ORDER BY name;}]
 # check the no. of tables - used later to configure views in a green =
foreground color
 set no_tables [llength $table_names]
 append table_names " [db eval {SELECT name FROM sqlite_master WHERE =
type=3D'view' UNION ALL SELECT  name FROM sqlite_temp_master WHERE =
type=3D'view' ORDER BY name;}]"
 # create a button for each table which when clicked will create a =
tablelist widget and populate it  with data from the table
 #foreach table $table_names {
 #    button ._$table -text $table -command "createtablelist $table"
 #    pack ._$table -side left
 #}

 # try a listbox instead to see what works best
 frame .topframe
 pack .topframe -expand true -fill both
 frame .topframe.leftframe
 frame .topframe.rightframe
 pack .topframe.leftframe  -side left -expand true -fill both
 pack .topframe.rightframe -side right -expand true -fill y
 listbox .topframe.leftframe.list -width 115 -yscrollcommand =
{.topframe.rightframe.scroll set}
 pack .topframe.leftframe.list -expand true -fill both
 scrollbar .topframe.rightframe.scroll -command =
{.topframe.leftframe.list yview}
 pack .topframe.rightframe.scroll -expand true -fill y

 foreach table $table_names {
    .topframe.leftframe.list insert end $table
 }

 # configure the foreground color of the views in green to distinguish =
from tables in black
 for {set x $no_tables} {$x &lt; [.topframe.leftframe.list index end]} =
{incr x} {
    .topframe.leftframe.list itemconfigure  $x  -foreground green
 }

 bind .topframe.leftframe.list &lt;Double-Button-1&gt; {
    #createtablelist [selection get]
    foreach i [selection get] {createtablelist $i}
 }
 set report_type text
 frame .bottomframe
 pack .bottomframe -side top -expand true -fill x
 button .bottomframe.button1 -text "New Table" -command newTable
 pack .bottomframe.button1 -side left -padx 2 -pady 4
 button .bottomframe.button2 -text "Delete Selected Table" -command {
    dropTable [selection get]
 }
 pack .bottomframe.button2 -side left -padx 2 -pady 4
 frame .sqlframe
 pack .sqlframe -side top -expand true -fill x
 #label .sqlframe.label -text "SQL Query"
 #pack .sqlframe.label -side left
 #entry .sqlframe.entry -width 80 -textvariable sqlquery

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区在线播放| 五月天中文字幕一区二区| 精品午夜一区二区三区在线观看| 欧美色手机在线观看| 性久久久久久久久久久久| 欧美视频在线观看一区二区| 夜色激情一区二区| 欧美福利一区二区| 久久超碰97人人做人人爱| 久久午夜电影网| a级精品国产片在线观看| 亚洲精品免费一二三区| 欧美丝袜丝交足nylons图片| 日本一不卡视频| 国产亚洲精品aa午夜观看| 99视频热这里只有精品免费| 亚洲一区二区三区四区在线观看| 欧美日韩国产美| 韩日av一区二区| 亚洲色图在线看| 91精品黄色片免费大全| 国产91富婆露脸刺激对白| 一区二区三区四区在线免费观看| 欧美成人精精品一区二区频| 91在线视频网址| 免费高清在线一区| 日韩理论片中文av| 日韩精品中文字幕一区 | 精品国产伦一区二区三区免费| 国产电影精品久久禁18| 玉米视频成人免费看| 欧美电视剧免费全集观看| 99精品久久99久久久久| 视频一区在线视频| 国产精品传媒在线| 91精品国产综合久久香蕉麻豆| 国产精品一区二区免费不卡 | 天天色天天爱天天射综合| 久久日韩精品一区二区五区| 色屁屁一区二区| 国产一区二区三区不卡在线观看 | 国产精品久久久久永久免费观看 | 狠狠色狠狠色综合日日91app| 亚洲狼人国产精品| 久久久.com| 欧美久久高跟鞋激| 色综合久久天天综合网| 国内精品伊人久久久久影院对白| 亚洲国产一区在线观看| 国产精品理论片| 日韩欧美你懂的| 欧美老肥妇做.爰bbww| 成人激情小说乱人伦| 毛片av中文字幕一区二区| 一区二区三区欧美亚洲| 欧美国产视频在线| 精品国产乱子伦一区| 欧美日韩三级一区二区| 色综合咪咪久久| 不卡一区二区三区四区| 国产成人在线视频网址| 老司机精品视频线观看86| 亚洲6080在线| 一区二区在线观看免费视频播放| 欧美激情在线一区二区| 久久综合av免费| 日韩一级大片在线| 欧美肥妇bbw| 欧美日韩国产在线观看| 欧美系列日韩一区| 欧洲中文字幕精品| 99国产精品久久久| 91香蕉视频污| 91在线国产福利| 91免费国产在线| 色婷婷激情综合| 欧美亚洲日本国产| 欧美在线观看一区二区| 91视频一区二区| 欧美影视一区二区三区| 在线免费一区三区| 欧美性色黄大片手机版| 欧美性猛片aaaaaaa做受| 日本乱人伦一区| 欧美美女视频在线观看| 欧美色图免费看| 日韩一区二区三区四区| 精品欧美一区二区三区精品久久 | 欧美另类z0zxhd电影| 正在播放亚洲一区| 日韩欧美国产wwwww| 日韩精品一区二区三区老鸭窝| 欧美成人高清电影在线| 久久人人97超碰com| 国产精品理论在线观看| 亚洲激情中文1区| 日本成人在线不卡视频| 久久成人久久鬼色| 岛国精品在线观看| 91电影在线观看| 欧美一区二区国产| 国产丝袜欧美中文另类| 亚洲乱码一区二区三区在线观看| 一二三四社区欧美黄| 日本色综合中文字幕| 国产精品69毛片高清亚洲| 99久久夜色精品国产网站| 欧美影院一区二区| 精品日韩一区二区三区免费视频| 国产精品久久精品日日| 亚洲国产精品一区二区www | 国产精品三级av| 亚洲高清久久久| 国产九色精品成人porny| 99久久久精品免费观看国产蜜| 欧美日韩亚洲另类| 国产视频一区二区在线| 一区二区三区资源| 麻豆91在线看| 色综合激情五月| 欧美成人激情免费网| 亚洲欧美日韩国产另类专区| 美女精品一区二区| 一本色道久久综合亚洲aⅴ蜜桃| 日韩欧美中文字幕制服| 亚洲蜜臀av乱码久久精品 | 国产一区在线看| 欧美性三三影院| 亚洲国产精品av| 麻豆成人综合网| 欧美日韩综合一区| 中文一区二区完整视频在线观看| 婷婷久久综合九色国产成人| 成人免费电影视频| 精品久久一区二区三区| 亚洲国产另类精品专区| 99国产精品久| 日本一区二区三区在线不卡| 六月婷婷色综合| 欧美精品亚洲一区二区在线播放| 国产精品白丝在线| 精油按摩中文字幕久久| 欧美午夜不卡在线观看免费| 亚洲欧洲成人精品av97| 国产精品性做久久久久久| 制服丝袜亚洲色图| 亚洲图片欧美色图| 91久久人澡人人添人人爽欧美| 国产欧美一区视频| 黄一区二区三区| 日韩欧美国产精品| 青青草视频一区| 69堂成人精品免费视频| 亚洲妇熟xx妇色黄| 色综合色狠狠综合色| 国产精品美女久久久久久| 国产999精品久久| 久久一日本道色综合| 九九精品视频在线看| 制服丝袜一区二区三区| 午夜伊人狠狠久久| 欧美亚洲综合另类| 亚洲精品国产一区二区精华液| 成人精品亚洲人成在线| 亚洲国产精品黑人久久久| 国产高清久久久| 久久亚洲一区二区三区四区| 久久99精品久久久| 日韩美女视频在线| 加勒比av一区二区| 欧美v国产在线一区二区三区| 久久精品国产精品亚洲精品| 日韩一区二区三区视频在线| 日本vs亚洲vs韩国一区三区二区 | 欧美一区二区三区四区久久| 五月婷婷久久丁香| 91.成人天堂一区| 免费在线一区观看| 欧美成人一区二区三区片免费 | 日韩欧美在线观看一区二区三区| 免费精品视频在线| 久久夜色精品国产欧美乱极品| 国产精品影视网| 国产精品蜜臀av| 91蜜桃免费观看视频| 亚洲一区中文日韩| 欧美一区二区三区视频免费| 免费人成在线不卡| 久久午夜羞羞影院免费观看| 成人综合在线观看| 中文字幕在线一区| 欧美日韩综合一区| 韩国欧美国产一区| 综合电影一区二区三区| 欧美视频在线观看一区二区| 日av在线不卡| 中文字幕一区二| 欧美精品久久一区二区三区| 韩国精品一区二区| 亚洲精选视频在线|