ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sqlite数据库

2021-09-03 16:02:16  阅读:152  来源: 互联网

标签:sqlite console log success 数据库 item var self


上代码

<template>
	<view class="">
		<!-- 搜索 -->
		<view class="" style="margin:10rpx;">
			<u-row gutter="16">
				<u-col span="9">
					<u-input @input="inpus" v-model="inputvalue" :type="type" :border=true />
				</u-col>
				<u-col span="3">
					<u-button type="error" @click="search">搜索</u-button>
				</u-col>
			</u-row>
		</view>
		<view class="">
			<u-table>
				<u-tr>
					<u-th>名字</u-th>
					<u-th>绰号</u-th>
					<u-th>绝招</u-th>
					<u-th>操作</u-th>
				</u-tr>
				<u-tr v-for="item of listform" :key="item.id">
					<u-td>{{item.user}}</u-td>
					<u-td>{{item.nick}}</u-td>
					<u-td>{{item.skills}}</u-td>
					<u-td class="dis">
						<text style="color: #007AFF;margin-right: 20rpx;" @click="edit(item.id)">修改</text>
						<text style="color: #DD524D;" @click="delet(item.id)">删除</text>
					</u-td>
				</u-tr>
				<u-tr>
					<u-td>
						<u-input v-model="username" :type="type" />
					</u-td>
					<u-td>
						<u-input v-model="nickname" :type="type" />
					</u-td>
					<u-td>
						<u-input v-model="skill" :type="type" />
					</u-td>
					<u-td>
						<u-button type="primary" @click="add">新增</u-button>
					</u-td>
				</u-tr>
			</u-table>
		</view>
		<view class="">
			<u-modal v-model="isshow" :mask-close-able="true" @confirm="queding" title="编辑">
				<u-row gutter="16" style="margin-left:20%;">
					<u-col span="4">名字</u-col>
					<u-col span="6">
						<u-input v-model="upname" :type="type" />
					</u-col>
				</u-row>
				<u-row gutter="16" style="margin-left:20%;">
					<u-col span="4">绰号</u-col>
					<u-col span="6">
						<u-input v-model="upnick" :type="type" />
					</u-col>
				</u-row>
				<u-row gutter="16" style="margin-left:20%;">
					<u-col span="4">绝招</u-col>
					<u-col span="6">
						<u-input v-model="upskill" :type="type" />
					</u-col>
				</u-row>
			</u-modal>
		</view>
		<!-- 关闭数据库 -->
		<u-button type="error" @click="close">关闭数据库</u-button>
	</view>
</template>

<script>
		data() {
			return {
				// 搜索
				inputvalue:'',
				// 表格
				username: '',
				nickname:'',
				skill:'',
				type: 'text',
				listform:[],
				ID:0,
				// 弹框编辑
				isshow:false,
				upname:'',
				upnick:'',
				upskill:'',
			}
		},
		onLoad() {
			// 打开数据库
			this.opendata()
			// 查询所有
			this.selectSQL()
		},
		methods: {
			// 打开数据库
			opendata(){
				plus.sqlite.openDatabase({
					// 表名
					name: 'xin_test',
					// 表地址
					path: '_doc/test.db',
					success: function(e) {
						// e是一个对象
						console.log("数据库开启成功" + 'openDatabase success!');
						resolve(e)
						
					},
					fail: function(e) {
						console.log("数据库开启失败" + 'openDatabase failed: ' + JSON.stringify(e));
					}
				});
			},
			// 关闭数据库
			close(){
				plus.sqlite.closeDatabase({
					name: 'xin_test',
					success(e) {
						console.log("关闭数据库成功");
						console.log(e)
					},
					fail(e) {
						console.log("关闭数据库失败" + JSON.stringify(e));
					}
				})
			},
			// 先创建表然后新增
			add(obj){
				var _self=this;
				plus.sqlite.executeSql({
					name: 'xin_test',
					sql:'create table if not exists dataitem("id" INTEGER PRIMARY KEY AUTOINCREMENT,"user" TEXT,"nick" TEXT,"skills" TEXT)',
					success(e){
						// 获取对应的值
						var nameone=_self.username
						var nicknamea= _self.nickname
						var skilla = _self.skill
						// 新增
						plus.sqlite.executeSql({
						    // 表名
							name: 'xin_test',
							// 新增语句
							sql: 'insert into dataitem(user,nick,skills) values("'+nameone+'","'+nicknamea+'","'+skilla+'")',
							success(e){
								console.log("新增成功",e)
								_self.username=null
								_self.nickname=null
								_self.skill=null
								_self.selectSQL()
							},
							fail: function(e) {
								console.log("新增失败");
							}
						})
					}
				})
			},
			// 搜索
			search(){
				var _self=this
				// 获取输入框的值
				var nameuser =_self.inputvalue
				// AND 与, OR 或, NOT 非
				plus.sqlite.selectSql({
					name:'xin_test',
					// 查询语句
					sql:'select * from dataitem where user="'+nameuser+'" or nick="'+nameuser+'" or skills="'+nameuser+'"',
					success: function(data){
						// 赋值
						_self.listform=data
					}
				})
			},
			// 清空显示所有数据
			inpus(){
				if(this.inputvalue==''){
					// 查询所有数据
					this.selectSQL()
				}
			},
			// 编辑
			edit(arr){
				var _self=this;
				_self.ID=arr
				// 循环所有数据
				this.listform.forEach(item=>{
				// 判断条件id是否相等
					if(_self.ID==item.id){
						_self.upname=item.user
						_self.upnick=item.nick
						_self.upskill=item.skills
					}
				})
				this.isshow=true
			},
			queding(ID){
				var _self=this
				console.log(9,_self.ID)
				var namevalue = _self.upname
				var nickvalue = _self.upnick
				var skillvalue = _self.upskill
				plus.sqlite.executeSql({
					name:'xin_test',
					// 修改语句
					sql:'update dataitem set user="'+namevalue+'",nick="'+nickvalue+'",skills="'+skillvalue+'"',
					success(data){
						// 循环所有数据
						_self.listform.forEach(item=>{
							// 判断条件id是否相等
							if(_self.ID==item.id){
								item.user=_self.upname
								item.nick=_self.upnick
								item.skills=_self.upskill
							}
						})
					}
				})
			},
			// 删除
			delet(ob){
				var _self=this
				var obj = parseInt(ob)
				console.log(obj)
				uni.showModal({
				    title: '删除',
				    content: '是否要删除这一条数据',
					success(res){
						if(res.confirm){
							plus.sqlite.executeSql({
								name:'xin_test',
								// 删除语句
								sql:'delete from dataitem where id="'+obj+'"',
								success(data){
									// 查询有没这个id
									var indexs= _self.listform.findIndex( item=>{
										if(item.id == obj){
											return true
										}
									})
									// 删除
									_self.listform.splice(indexs,1)
									console.log("删除成功")
								},
								fail(){
									console.log("删除失败")
								}
							})
						}
					}
				})
			},
			// 数据库查询
			selectSQL(){
				var _self=this
				plus.sqlite.selectSql({
					name: 'xin_test',
					// 查询所有语句
					sql: 'select * from dataitem',
					success(data){
						_self.listform=data
						console.log("查询",data)
					},
					fail(e){
						console.log("查询失败")
					}
				})
			},
		}
	}
</script>

<style lang="scss" scoped>
	.dis{
		display: inline-block;
	}
</style>

标签:sqlite,console,log,success,数据库,item,var,self
来源: https://blog.csdn.net/m0_50884068/article/details/120083338

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有