<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 使用 Perl 在 SQLite 中處理圖像 > 原文: [http://zetcode.com/db/sqliteperltutoriimg/](http://zetcode.com/db/sqliteperltutoriimg/) 在 SQLite Perl 教程的這一章中,我們將使用圖像文件。 請注意,有些人反對將圖像放入數據庫。 在這里,我們只展示如何做。 我們不討論是否在數據庫中保存圖像。 ```perl sqlite> CREATE TABLE Images(Id INTEGER PRIMARY KEY, Data BLOB); ``` 對于此示例,我們創建一個名為`Images`的新表。 對于圖像,我們使用`BLOB`數據類型,代表二進制大對象。 ## 插入圖像 在第一個示例中,我們將圖像插入 SQLite 數據庫。 ```perl #!/usr/bin/perl use strict; use DBI; my $dbh = DBI->connect( "dbi:SQLite:dbname=test.db", { RaiseError => 1 } ) or die $DBI::errstr; open IMAGE, "mushrooms.jpg" or die $!; my ($image, $buff); while(read IMAGE, $buff, 1024) { $image .= $buff; } my $stm = $dbh->prepare("INSERT INTO Images(Data) VALUES (?)"); $stm->bind_param(1, $image, DBI::SQL_BLOB); $stm->execute(); close(IMAGE); $stm->finish(); $dbh->disconnect(); ``` 我們從當前工作目錄中讀取圖像,并將其寫入 SQLite `test.db`數據庫的`Images`表中。 ```perl open IMAGE, "mushrooms.jpg" or die $!; ``` 我們打開一個圖像。 這是稱為`mushrooms.jpg`的 JPG 圖像。 ```perl my ($image, $buff); while(read IMAGE, $buff, 1024) { $image .= $buff; } ``` 我們從圖像文件讀取二進制數據。 ```perl my $sth = $dbh->prepare("INSERT INTO Images(Data) VALUES (?)"); $sth->bind_param(1, $image, DBI::SQL_BLOB); $sth->execute(); ``` 三行代碼準備 SQL 語句,將圖像數據綁定到該語句并執行它。 ```perl close(IMAGE); $sth->finish(); $dbh->disconnect(); ``` 最后,我們正在釋放資源。 ## 讀取圖像 在本節中,我們將執行相反的操作。 我們將從數據庫表中讀取圖像。 ```perl #!/usr/bin/perl use strict; use DBI; my $dbh = DBI->connect( "dbi:SQLite:dbname=test.db", { RaiseError => 1 } ) or die $DBI::errstr; my $stm = $dbh->prepare("SELECT Data FROM Images WHERE Id=1"); $stm->execute(); my $image = $stm->fetch(); print "Image: $image"; open IMAGE, ">mushrooms2.jpg" or die $!; print IMAGE @$image; close(IMAGE); $stm->finish(); $dbh->disconnect(); ``` 我們從`IMAGE`表中讀取圖像數據,并將其寫入另一個文件,我們稱為蘑菇`2.jpg`。 ```perl my $sth = $dbh->prepare("SELECT Data FROM Images WHERE Id=1"); $sth->execute(); my $image = $sth->fetch(); ``` 這三行從表中選擇圖像數據。 ```perl open IMAGE, ">mushrooms2.jpg" or die $!; print IMAGE @$image; close(IMAGE); ``` 我們打開一個新的圖像文件,并將檢索到的數據寫入該文件。 然后我們關閉文件。 SQLite Perl 教程的這一部分專門用于讀取和寫入圖像。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看