最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Vue中使用SQLite數(shù)據(jù)庫的基礎(chǔ)應(yīng)用詳解

 更新時(shí)間:2025年02月13日 15:38:37   作者:像素檢測儀  
這篇文章主要為大家詳細(xì)介紹了在Vue中使用SQLite數(shù)據(jù)庫的基礎(chǔ)應(yīng)用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、環(huán)境準(zhǔn)備

安裝 Node.js 和 npm:確保已安裝 Node.js 和 npm。

創(chuàng)建 Vue 項(xiàng)目:使用 Vue CLI 創(chuàng)建一個(gè)新的 Vue 項(xiàng)目:

vue create vue-sqlite-project

安裝 SQLite 驅(qū)動:在項(xiàng)目中安裝 sqlite3 庫:

npm install sqlite3

二、數(shù)據(jù)庫連接與操作

1. 創(chuàng)建數(shù)據(jù)庫連接

在 Vue 組件中,可以使用 sqlite3 模塊連接 SQLite 數(shù)據(jù)庫:

import sqlite3 from 'sqlite3';

const db = new sqlite3.Database('./database.db', (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Connected to the SQLite database.');
});

2. 創(chuàng)建表

使用 SQL 語句創(chuàng)建表:

db.run(`CREATE TABLE IF NOT EXISTS users (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  username TEXT NOT NULL,
  email TEXT NOT NULL
)`, (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Table created.');
});

3. 插入數(shù)據(jù)

插入數(shù)據(jù)到表中:

const user = { username: 'Alice', email: 'alice@example.com' };
db.run(`INSERT INTO users (username, email) VALUES (?, ?)`, [user.username, user.email], (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('A row has been inserted.');
});

4. 查詢數(shù)據(jù)

查詢表中的數(shù)據(jù):

db.all(`SELECT * FROM users`, [], (err, rows) => {
  if (err) {
    console.error(err.message);
  }
  rows.forEach((row) => {
    console.log(row);
  });
});

5. 更新數(shù)據(jù)

更新表中的數(shù)據(jù):

db.run(`UPDATE users SET email = ? WHERE username = ?`, ['newemail@example.com', 'Alice'], (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('A row has been updated.');
});

6. 刪除數(shù)據(jù)

刪除表中的數(shù)據(jù):

db.run(`DELETE FROM users WHERE username = ?`, ['Alice'], (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('A row has been deleted.');
});

三、在 Vue 組件中使用 SQLite

以下是一個(gè)完整的 Vue 組件示例,展示如何在組件中實(shí)現(xiàn)對 SQLite 數(shù)據(jù)庫的增刪改查操作:

<template>
  <div>
    <h2>User Management</h2>
    <form @submit.prevent="addUser">
      <input v-model="newUser.username" placeholder="用戶名" />
      <input v-model="newUser.email" placeholder="郵箱" />
      <button type="submit">添加用戶</button>
    </form>
    <ul>
      <li v-for="user in users" :key="user.id">
        {{ user.username }} - {{ user.email }}
        <button @click="deleteUser(user.id)">刪除用戶</button>
      </li>
    </ul>
  </div>
</template>

<script>
import sqlite3 from 'sqlite3';

export default {
  data() {
    return {
      newUser: { username: '', email: '' },
      users: []
    };
  },
  methods: {
    async initDatabase() {
      const db = new sqlite3.Database('./database.db', (err) => {
        if (err) {
          console.error(err.message);
        }
        console.log('Connected to the SQLite database.');
      });

      // Create table
      db.run(`CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        username TEXT NOT NULL,
        email TEXT NOT NULL
      )`, (err) => {
        if (err) {
          console.error(err.message);
        }
        console.log('Table created.');
      });

      // Fetch users
      this.fetchUsers(db);

      // Close database connection
      db.close();
    },
    fetchUsers(db) {
      db.all(`SELECT * FROM users`, [], (err, rows) => {
        if (err) {
          console.error(err.message);
        }
        this.users = rows;
      });
    },
    addUser() {
      const db = new sqlite3.Database('./database.db');
      db.run(`INSERT INTO users (username, email) VALUES (?, ?)`, [this.newUser.username, this.newUser.email], (err) => {
        if (err) {
          console.error(err.message);
        }
        console.log('User added.');
        this.fetchUsers(db);
      });
      db.close();
    },
    deleteUser(id) {
      const db = new sqlite3.Database('./database.db');
      db.run(`DELETE FROM users WHERE id = ?`, [id], (err) => {
        if (err) {
          console.error(err.message);
        }
        console.log('User deleted.');
        this.fetchUsers(db);
      });
      db.close();
    }
  },
  mounted() {
    this.initDatabase();
  }
};
</script>

到此這篇關(guān)于在Vue中使用SQLite數(shù)據(jù)庫的基礎(chǔ)應(yīng)用詳解的文章就介紹到這了,更多相關(guān)Vue使用SQLite數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決Antd 里面的select 選擇框聯(lián)動觸發(fā)的問題

    解決Antd 里面的select 選擇框聯(lián)動觸發(fā)的問題

    這篇文章主要介紹了解決Antd 里面的select 選擇框聯(lián)動觸發(fā)的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 解決vue 局部過濾器獲取不到this的問題

    解決vue 局部過濾器獲取不到this的問題

    這篇文章主要介紹了解決vue 局部過濾器獲取不到this的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • vue.js父組件使用外部對象的方法示例

    vue.js父組件使用外部對象的方法示例

    在我們?nèi)粘i_發(fā)中經(jīng)常因?yàn)樗季S定式,我們會犯一些奇怪的錯(cuò)誤,有時(shí)候看似簡單的問題卻給出了復(fù)雜的解決方案。下面這篇文章主要介紹了vue.js父組件使用外部對象的方法,這個(gè)看似簡單卻繞了一些彎路的問題,有必要和大家分享下,需要的朋友可以參考學(xué)習(xí),下面來看看吧。
    2017-04-04
  • Vue.js實(shí)現(xiàn)簡單ToDoList 前期準(zhǔn)備(一)

    Vue.js實(shí)現(xiàn)簡單ToDoList 前期準(zhǔn)備(一)

    這篇文章主要介紹了Vue.js實(shí)現(xiàn)簡單ToDoList的前期準(zhǔn)備,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • vue eslint簡要配置教程詳解

    vue eslint簡要配置教程詳解

    這篇文章主要介紹了vue eslint簡要配置,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 如何通過URL來實(shí)現(xiàn)在Vue中存儲業(yè)務(wù)狀態(tài)實(shí)用技巧

    如何通過URL來實(shí)現(xiàn)在Vue中存儲業(yè)務(wù)狀態(tài)實(shí)用技巧

    這篇文章主要為大家介紹了如何通過URL來實(shí)現(xiàn)在Vue中存儲業(yè)務(wù)狀態(tài)實(shí)用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • vue中使用swiper,左右箭頭點(diǎn)擊沒有效果問題及解決

    vue中使用swiper,左右箭頭點(diǎn)擊沒有效果問題及解決

    這篇文章主要介紹了vue中使用swiper,左右箭頭點(diǎn)擊沒有效果問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vue中封裝eCharts組件及優(yōu)化方式

    Vue中封裝eCharts組件及優(yōu)化方式

    這篇文章主要介紹了Vue中封裝eCharts組件及優(yōu)化方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue中對象數(shù)組去重的實(shí)現(xiàn)

    vue中對象數(shù)組去重的實(shí)現(xiàn)

    這篇文章主要介紹了vue中對象數(shù)組去重的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • vue3?+?antv/x6實(shí)現(xiàn)流程圖的全過程

    vue3?+?antv/x6實(shí)現(xiàn)流程圖的全過程

    隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的應(yīng)用需要實(shí)現(xiàn)流程圖的制作,如工作流程圖、電路圖等,文中通過代碼以及圖文將實(shí)現(xiàn)的過程介紹的非常詳細(xì),對大家學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-06-06

最新評論

肃宁县| 五峰| 永康市| 韶关市| 溧水县| 东丰县| 吉木乃县| 太和县| 女性| 奉贤区| 大兴区| 桑植县| 锡林郭勒盟| 丁青县| 麦盖提县| 扬中市| 灯塔市| 柞水县| 临澧县| 柞水县| 合川市| 开封县| 宁波市| 民县| 塘沽区| 阳新县| 澜沧| 余庆县| 鄂托克前旗| 四川省| 永泰县| 前郭尔| 孙吴县| 远安县| 彭山县| 荆门市| 余干县| 中阳县| 龙门县| 柳州市| 英吉沙县|