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

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

?? sqlitetablelist.mht

?? TCL的數據庫處理支撐庫及一些示例
?? MHT
?? 第 1 頁 / 共 5 頁
字號:
    pack .are_you_sure.no
    tkwait variable sure_variable

 }

 proc createtablelist {table_name} {
    global sock primary_key primary_key_name column_names
    set column_names {}
    set primary_key_name {}
    set primary_key {}
    # need to get the names of all the columns in the selected table =
using SQL command on the  sqlite_master table
    set initial_column_names [db eval [subst {SELECT sql FROM (SELECT * =
FROM sqlite_master UNION ALL  SELECT * FROM sqlite_temp_master) WHERE =
tbl_name LIKE '$table_name' AND type!=3D'meta' ORDER BY type  DESC, =
name;}]]
    #set column_names [Eval_Remote $sock db eval [subst {SELECT sql FROM =
(SELECT * FROM  sqlite_master) WHERE tbl_name LIKE '$table_name' AND =
type!=3D'meta' ORDER BY type DESC, name;}]]
    puts "initial_column_names =3D=3D\n$initial_column_names"
    if {[regexp "CREATE TABLE" $initial_column_names]} {
        # get rid of some junk in the reply that we don't want
        regsub "CREATE TABLE $table_name" $initial_column_names {} =
initial_column_names
        #regsub =
{((version\)|\(name),|(KE|PRIMAR)Y)|(version\)|\(name,|(KE|PRIMAR)Y)|(\(s=
ignature\)|UNIQUE)|(\(signature\),|UNIQUE)}  $initial_column_names {} =
initial_column_names
        regsub {PRIMARY KEY \((.+, .+)+\),} $initial_column_names {} =
initial_column_names
        regsub {UNIQUE \(.+\)} $initial_column_names {} =
initial_column_names
        regsub {PRIMARY KEY \((.+, .+)+\)} $initial_column_names {} =
initial_column_names
        puts "initial_column_names =3D=3D\n$initial_column_names"

        regsub -all {\(} $initial_column_names {} initial_column_names
        regsub -all {\)} $initial_column_names {} initial_column_names
        regsub -all {\{} $initial_column_names {} initial_column_names
        regsub -all {\}} $initial_column_names {} initial_column_names
        puts "initial_column_names =3D=3D\n$initial_column_names"

        # the reply still contains the column name followed by a comma =
and the type description
        # so we need to make a new list with only the first element - =
the name without the type description
        set key_index_counter 0
        foreach name [split $initial_column_names ","] {
            if {[regexp "PRIMARY KEY" $name]} {
                set primary_key $key_index_counter
                set primary_key_name [lindex $name 0]
            }
            if {[lindex $name 0] !=3D "" && [lindex $name 0] =
!=3D "CREATE"} {
                lappend column_names [lindex $name 0]
            }
            incr key_index_counter
        }
    }

    # in this case you do not want all the column names
    if {[regexp "CREATE VIEW" $initial_column_names] && ![regexp =
"\\*" $initial_column_names]} {
        # we need to get the names of the columns you want from between =
the SELECT and the FROM statements
        regexp "SELECT .+ FROM" $initial_column_names match
        puts "match =3D=3D $match"
        regsub "SELECT " $match {} match
        regsub " FROM" $match {} match
        regsub -all {, } $match { } match
        puts "match =3D=3D $match"

        # in this case, the initial_column_names is actually the table =
names - I know that is confusing - just too lazy to change the code
        regsub "CREATE VIEW $table_name AS SELECT .+ FROM " =
$initial_column_names {} initial_column_names
        regsub { WHERE.+$} $initial_column_names {} initial_column_names
        set initial_column_names [split $initial_column_names ", "]
        regsub -all {\(} $initial_column_names {} initial_column_names
        regsub -all {\)} $initial_column_names {} initial_column_names
        regsub -all {\{} $initial_column_names {} initial_column_names
        regsub -all {\}} $initial_column_names {} initial_column_names
        regsub -all {\\} $initial_column_names {} initial_column_names
        #puts $initial_column_names
        # now loop through the selected tables and get the column names
        #foreach view_table $initial_column_names {
        #    set initial_column_names2 [db eval [subst {SELECT sql FROM =
(SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) =
WHERE tbl_name LIKE '$view_table' AND type!=3D'meta' ORDER BY type DESC, =
name;}]]
        #    regsub "CREATE TABLE $view_table" $initial_column_names2 {} =
initial_column_names2
        #    regsub -all {\(} $initial_column_names2 {} =
initial_column_names2
        #    regsub -all {\)} $initial_column_names2 {} =
initial_column_names2
        #    regsub -all {\{} $initial_column_names2 {} =
initial_column_names2
        #    regsub -all {\}} $initial_column_names2 {} =
initial_column_names2

        # the reply still contains the column name followed by a comma =
and the type description
        # so we need to make a new list with only the first element - =
the name without the type description
        #    set key_index_counter 0
        #    foreach name [split $initial_column_names2 ","] {
        #        if {[regexp "PRIMARY KEY" $name]} {
        #            set primary_key $key_index_counter
        #            set primary_key_name [lindex $name 0]
        #        }
        #        lappend column_names [lindex $name 0]
        #        incr key_index_counter
        #    }
        #in this case the column names comes from the SELECT =
columnname1, columnname2 FROM
        # so we just set columnames equal to that
        set column_names $match

        #}

    }
    # this is the case where you use a wildcard for selecting the =
columnames when creating a view. So you will get all the column names in =
the tablelist widget.
    if {[regexp "CREATE VIEW" $initial_column_names] && [regexp =
"\\*" $initial_column_names]} {
        regsub "CREATE VIEW $table_name AS SELECT \\* FROM " =
$initial_column_names {} initial_column_names
        regsub { WHERE.+$} $initial_column_names {} initial_column_names
        set initial_column_names [split $initial_column_names ", "]
        regsub -all {\(} $initial_column_names {} initial_column_names
        regsub -all {\)} $initial_column_names {} initial_column_names
        regsub -all {\{} $initial_column_names {} initial_column_names
        regsub -all {\}} $initial_column_names {} initial_column_names
        regsub -all {\\} $initial_column_names {} initial_column_names
        puts $initial_column_names

        foreach view_table $initial_column_names {
            set initial_column_names2 [db eval [subst {SELECT sql FROM =
(SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) =
WHERE tbl_name LIKE '$view_table' AND type!=3D'meta' ORDER BY type DESC, =
name;}]]
            regsub "CREATE TABLE $view_table" $initial_column_names2 {} =
initial_column_names2
            regsub -all {\(} $initial_column_names2 {} =
initial_column_names2
            regsub -all {\)} $initial_column_names2 {} =
initial_column_names2
            regsub -all {\{} $initial_column_names2 {} =
initial_column_names2
            regsub -all {\}} $initial_column_names2 {} =
initial_column_names2

            # the reply still contains the column name followed by a =
comma and the type description
            # so we need to make a new list with only the first element =
- the name without the type description
            set key_index_counter 0
            foreach name [split $initial_column_names2 ","] {
                if {[regexp "PRIMARY KEY" $name]} {
                    set primary_key $key_index_counter
                    set primary_key_name [lindex $name 0]
                }

                lappend column_names [lindex $name 0]

                incr key_index_counter
            }

        }

    }

    set top .configTop
    for {set n 2} {[winfo exists $top]} {incr n} {
        set top .configTop$n
    }
    toplevel $top -class DemoTop
    wm title $top $table_name

    set tf $top.tf
    frame $tf

    set tbl $tf.tbl
    set vsb $tf.vsb
    set hsb $tf.hsb
    set new_column_names [list "0 [join $column_names "\n0 "]"]
    #puts $new_column_names
    regsub -all {\{} $new_column_names {} new_column_names
    regsub -all {\}} $new_column_names {} new_column_names

    tablelist::tablelist $tbl -columns $new_column_names -selectmode =
multiple \
            -labelcommand tablelist::sortByColumn -sortcommand =
demo::compareAsSet \
            -editendcommand applyValue -height 15 -width 100 -stretch =
all \
            -xscrollcommand [list $hsb set] -yscrollcommand [list $vsb =
set] \
            -stripebackground           #e0e8f0
    # -editstartcommand enableDelete
    #$tbl columnconfigure 3 -maxwidth 30 -editable yes
    #$tbl columnconfigure 4 -maxwidth 30 -editable yes

    for {set x 0} {$x < [llength $column_names]} {incr x} {
        $tbl columnconfigure $x -maxwidth 30 -editable yes
        if {$x =3D=3D $primary_key} {
            $tbl columnconfigure $x -foreground red -editable no
        }
    }

    scrollbar $vsb -orient vertical   -command [list $tbl yview]
    scrollbar $hsb -orient horizontal -command [list $tbl xview]

    #
    # Create three buttons within a frame child of the top-level widget
    #
    set bf $top.bf
    frame $bf
    set b1 $bf.b1
    set b2 $bf.b2
    set b3 $bf.b3
    set b4 $bf.b4

    set b5 $bf.b5
    set b6 $bf.b6
    set b7 $bf.b7

    button $b1 -text "Refresh"     -command [list demo::putConfig \$w =
$tbl] -state disabled
    button $b4 -text "New Record"  -command [list newRecord $tbl =
$table_name]
    #    button $b2 -text "Sort as set" -command [list $tbl sort] -state =
disabled

    # row delete button initially disabled because tablelist widget will =
set inital active row to 0 and you don't want to delete
    # until user selects row by putting the mouse on it at least.
    button $b2 -text "Delete Seleted Row" -command [list deleteRecord =
$tbl $table_name "$tbl index active" $primary_key] -state disabled
    button $b3 -text "Close"       -command [list destroy $top]

    if {$table_name =3D=3D "SpokanePhysicians"} {
        button $b5 -image fax -command "
        foreach row \[$tbl curselection\] \{
        toplevel .fax
        text .fax.t
        pack .fax.t
        .fax.t insert 1.0 \"                              Jerry Park =
D.O.
        101 Main St.
        Spokane WA 88845
        \[clock format \[clock seconds\] -format \"%m/%d/%Y =
%R\"\]\\n\\n\\n\"
        set this_row  \[$tbl get \$row\]
        .fax.t insert end  \"\[lindex \$this_row 2\] \[lindex \$this_row =
1\] \[lindex \$this_row 4\]\\n\"
        .fax.t insert end  \"\[lindex \$this_row 5\]\\n\"
        .fax.t insert end \"\[lindex \$this_row 6\] \[lindex \$this_row =
7\] \[lindex \$this_row 8\]\\n\\n\\n\"
        .fax.t insert end \"Hi \[lindex \$this_row 2\]!\\n\\\n\\n\"
        .fax.t insert end \"     I was just wanting to let you know that =
our new tkfp_tablelist2.tcl program seems to be working.\\n\\n\\n\\n\"
        .fax.t insert end \"                              Yours =
truly,\\n\\n\"
        .fax.t insert end \"                              Jerry Park =
D.O.\"

        button .fax.done -text {Send} -command {set done_variable =
true;destroy .fax}
        pack .fax.done -side left
        button .fax.cancel -text {Cancel} -command {set done_variable =
true;destroy .fax}
        pack .fax.cancel -side left -padx 5
        tkwait variable done_variable
        \}
        "

        button $b6 -image email
        button $b7 -image mail
    }

    set bodyTag [$tbl bodytag]
    bind $bodyTag <FocusIn>   [list $b2 configure -state normal]

    #
    # Manage the widgets
    #
    grid $tbl -row 0 -column 0 -sticky news
    grid $vsb -row 0 -column 1 -sticky ns
    grid $hsb -row 1 -column 0 -sticky ew
    grid rowconfigure    $tf 0 -weight 1
    grid columnconfigure $tf 0 -weight 1
    pack $b1 $b2 $b4 $b3 -side left -expand yes -pady 10
    if {$table_name =3D=3D "SpokanePhysicians"} {
        pack $b5 $b6 $b7 -side left -expand yes -pady 10
    }
    pack $bf -side bottom -fill x
    pack $tf -side top -expand yes -fill both

    #insert some data retrieved by sql from the database into the =
tablelist
    #the blank space at the end of each variable is because the =
tablelist seems
    #to ignor nulls and moves things over one unless you put a space in.
    set data [db eval [subst {Select * from $table_name;}]]

    #foreach {BusinessOrganizationType NameID Honorific FirstName =
LastName Degree ExtraDegrees Nickname SpecialtyID Specialty2ID =
BusinessOrganization Birthday Custom1_Name Custom2_Name Custom3_Name =
Custom4_Name Comments_Name DateLastUpdated_Name} $data {

    #    $tbl insert end " \"$BusinessOrganizationType \" \"$NameID\" =
\"$Honorific \" \"$FirstName \" \"$LastName \" \"$Degree \" =
\"$ExtraDegrees \" \"$Nickname \" \"$SpecialtyID \" \"$Specialty2ID \" =
\"$BusinessOrganization \" \"$Birthday \" \"$Custom1_Name \" =
\"$Custom2_Name \" \"$Custom3_Name \" \"$Custom4_Name \" =
\"$Comments_Name \" \"$DateLastUpdated_Name \""
    #}

    #set column_insert_command " \\\"\$"
    #set column_insert_list [join $column_names " \\\" \\\"\$"]
    #append column_insert_command $column_insert_list
    #append column_insert_command " \\\""

    append column_insert_command " \\\"\$\{"
    set key_counter 0
    foreach name $column_names {
        #if {[regexp {\.} $name]} {
        #    set name [lindex [split $name "."] 1]
        #}

        if {$key_counter !=3D $primary_key && ![string compare =
$name " "] && ![string compare $name ""]} {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产精品露脸对白| 激情综合色播激情啊| 久久精品国产精品青草| 99视频在线观看一区三区| 日韩一区二区影院| 一区二区激情小说| 成人h版在线观看| 精品国产一区二区三区不卡| 亚洲午夜在线视频| 成人av资源网站| 国产色产综合色产在线视频| 蜜臀av性久久久久av蜜臀妖精| 亚洲午夜免费视频| 成人一区二区三区在线观看| 欧美一区二区免费视频| 亚洲综合在线第一页| 99久免费精品视频在线观看 | 久久人人超碰精品| 日本欧美在线看| 91.成人天堂一区| 一区二区在线看| 色婷婷精品久久二区二区蜜臂av | 9191成人精品久久| 亚洲成av人片在线| 欧洲激情一区二区| 悠悠色在线精品| 在线观看不卡视频| 亚洲小少妇裸体bbw| 色国产综合视频| 亚洲一二三专区| 欧美巨大另类极品videosbest| 亚洲宅男天堂在线观看无病毒| 91色视频在线| 亚洲制服丝袜在线| 6080yy午夜一二三区久久| 天堂午夜影视日韩欧美一区二区| 欧美日韩精品综合在线| 日本不卡一区二区三区高清视频| 欧美性受xxxx黑人xyx| 一区二区三区四区五区视频在线观看| 91在线视频观看| 亚洲狼人国产精品| 欧美日韩成人一区二区| 蜜臀av一级做a爰片久久| 精品免费视频.| 成人性生交大片免费看中文网站| 国产精品无圣光一区二区| 91一区二区在线| 午夜精品一区二区三区免费视频| 欧美一区二区三区小说| 麻豆一区二区三| 中文字幕第一区第二区| 色婷婷综合中文久久一本| 婷婷中文字幕综合| 精品免费国产二区三区| 成人妖精视频yjsp地址| 一区二区三区四区不卡在线 | 中文字幕av一区 二区| av亚洲精华国产精华| 亚洲男帅同性gay1069| 欧美精选在线播放| 国产传媒欧美日韩成人| 亚洲国产一区在线观看| 欧美精品一区二区三区一线天视频| 国产成a人亚洲| 亚洲第一福利一区| 欧美国产精品久久| 欧美一区二区视频网站| 国产成人亚洲精品青草天美| 亚洲与欧洲av电影| 欧美激情中文字幕一区二区| 欧美久久一区二区| 国产成人av网站| 奇米四色…亚洲| 亚洲伦理在线免费看| 2021中文字幕一区亚洲| 欧美日韩在线电影| 国产精品996| 日韩中文字幕麻豆| 亚洲少妇最新在线视频| 久久先锋影音av鲁色资源网| 欧美日韩一级二级三级| 99精品久久免费看蜜臀剧情介绍| 久久国产精品72免费观看| 亚洲日本丝袜连裤袜办公室| 日韩一级黄色片| 欧美人伦禁忌dvd放荡欲情| 成人国产精品免费网站| 色综合天天天天做夜夜夜夜做| 激情综合五月婷婷| 一区二区三区在线看| 久久久美女毛片| 日韩久久久久久| 欧美午夜精品久久久久久超碰| 懂色av一区二区三区蜜臀| 天天av天天翘天天综合网 | 国产精品看片你懂得| 欧美日韩亚州综合| 成人综合在线视频| 国产一区二区电影| 蜜臂av日日欢夜夜爽一区| 午夜精品久久久久影视| 一区二区三区产品免费精品久久75| 国产欧美日韩视频在线观看| 久久亚洲综合av| 久久久91精品国产一区二区三区| 制服丝袜中文字幕亚洲| 4438x成人网最大色成网站| 91成人免费在线视频| 91看片淫黄大片一级在线观看| 国产91精品露脸国语对白| 国产一区二区三区四区五区入口| 蜜臀av一区二区在线观看 | 精品久久99ma| 精品电影一区二区三区| 精品福利一区二区三区 | 制服丝袜激情欧洲亚洲| 91精品国产全国免费观看| 91精品婷婷国产综合久久性色| 欧美日本国产一区| 这里只有精品免费| 亚洲国产色一区| 久久久一区二区三区捆绑**| 日韩精品一区二区三区在线观看| 2020国产精品| 欧美国产日韩一二三区| 亚洲美女屁股眼交3| 亚洲一二三区视频在线观看| 日本欧美在线观看| 韩国av一区二区三区在线观看| 国产福利91精品| 91美女福利视频| 91精品国产91久久久久久最新毛片| 日韩欧美国产wwwww| 国产亚洲一区二区在线观看| 国产精品久久久久久久久动漫 | 一区二区三区在线视频观看| 亚洲午夜电影网| 激情综合色播五月| 99麻豆久久久国产精品免费 | 波多野结衣精品在线| 国产成人高清在线| 色乱码一区二区三区88| 在线播放/欧美激情| 久久精品一区四区| 亚洲一区二区精品3399| 麻豆一区二区在线| 99久久国产免费看| 制服.丝袜.亚洲.中文.综合| 久久精品视频一区二区| 亚洲国产日产av| 国产91对白在线观看九色| 欧美性猛交xxxx黑人交 | 欧美一区二区私人影院日本| 国产偷国产偷亚洲高清人白洁| 亚洲一区二区三区四区的| 国产曰批免费观看久久久| 在线国产亚洲欧美| 久久亚洲一级片| 亚洲成人免费在线| 成人少妇影院yyyy| 欧美一区二区三区视频在线观看| 国产精品日日摸夜夜摸av| 日韩电影免费在线观看网站| 99精品热视频| 欧美精品一区二区三区在线| 亚洲午夜精品17c| 99这里只有久久精品视频| 精品日产卡一卡二卡麻豆| 一区二区三区精品视频在线| 国产综合久久久久久鬼色| 欧美久久久影院| 亚洲制服丝袜在线| 91美女片黄在线| 中文字幕av一区二区三区高| 精品亚洲免费视频| 7878成人国产在线观看| 亚洲六月丁香色婷婷综合久久| 国产精品99久久久久久久女警 | 国产精品视频一二三区 | 丝袜美腿亚洲色图| 91官网在线观看| 国产精品国产三级国产三级人妇| 久久精品久久99精品久久| 欧美巨大另类极品videosbest| 亚洲精品日韩专区silk| 成人av免费在线播放| 中文字幕免费不卡在线| 国产激情一区二区三区桃花岛亚洲| 欧美一二三区在线| 亚洲大片免费看| 欧美老肥妇做.爰bbww| 五月天婷婷综合| 欧美高清一级片在线| 亚洲超丰满肉感bbw| 欧美日韩免费一区二区三区 | 一区二区三区四区高清精品免费观看 | 91久久免费观看| 一区二区三区视频在线看| 色呦呦国产精品|