开学活动
搜索
    上传资料 赚现金

    第四章sqlite数据库和室内环境检测系统代码 素材 浙教版(2019) 信息技术必修二信息系统与社会

    第四章sqlite数据库和室内环境检测系统代码 素材     浙教版(2019) 信息技术必修二信息系统与社会第1页
    第四章sqlite数据库和室内环境检测系统代码 素材     浙教版(2019) 信息技术必修二信息系统与社会第2页
    还剩2页未读, 继续阅读
    下载需要10学贝 1学贝=0.1元
    使用下载券免费下载
    加入资料篮
    立即下载

    第四章sqlite数据库和室内环境检测系统代码 素材 浙教版(2019) 信息技术必修二信息系统与社会

    展开

    #SQLite数据库基本操作import sqlite3 #连接/创建数据库conn = sqlite3.connect("Sqlite/text.db") #创建游标cu = conn.cursor()
     #创建数据表(表名st)#create table <表名>(<字段名> <字段数据类型>,……)cu.execute('''create table st(    ID   int   primary key  not NULL,    name text                not NULL,    age  int                  not NULL,    sex  char(1)             not NULL)''')conn.commit()        #保存并提交到数据库 #向数据库增加数据#insert into <表名> (字段1,字段2,……) valuse(1,2,……)cu.execute("insert into st(ID,name,age,sex) values(1,'Peter',15,'M')")cu.execute("insert into st(ID,name,age,sex) values(2,'Jim',16,'M')")cu.execute("insert into st(ID,name,age,sex) values(3,'Maray',14,'W')")cu.execute("insert into st(ID,name,age,sex) values(4,'Brent',17,'M')")conn.commit()   #提交数据 #查找#select <输出列1>,<输出列2> form <表名>  where <筛选条件>s = cu.execute("select * from st")for i in s:    print(i) s = cu.execute("select name,age from st")for i in s:    print(i) s = cu.execute("select name,age from st where age>15")for i in s:    print(i) #fetchall() 获取游标结果,返回的是列表类型cu.execute("select name,age from st where age>=15")print(cu.fetchall()) #删除语句#delete from <表名> where <筛选条件>cu.execute("delete from st where ID=1 ")conn.commit()     #更新 cu.close()conn.close()   #室内环境检测系统flask代码import sqlite3    #导入 sqlite3 数据库import jsonfrom flask import Flask,render_template, request   DATABASE = "./flask_class4/data/data.db"   #定义数据库路径 app = Flask(__name__)     #创建一个服务器实例@app.route("/")def hello():    db = sqlite3.connect(DATABASE)   #连接数据库 data.db    cur = db.cursor()                     #创建游标对象    cur.execute("SELECT * FROM sensorlog WHERE sensorid =1")     #Execute方法用来执行sql语句,sensorid=1, 从"sensorlog" 表中选取所在列    data = cur.fetchall()            #查询所有数据    cur.close()                      #关闭游标,不自动提交保存。    db.close()                       #关闭数据库,不自动提交保存。    temp1 = data[len(data) - 1]     #获取最新一行的数据,[ID,TIME,TEMP]    temp = temp1[2]                #获取温度    return render_template('vews1.html', data=data,temp=temp) #Get data@app.route("/get",methods=['GET'])       #响应网页的 get 请求,返回实时温度def get_data():    sensorid=int(request.args.get('id')) #获取iddb = sqlite3.connect(DATABASE)    #连接数据库 data.dbcur = db.cursor()                       #创建游标对象    cur.execute("SELECT * FROM sensorlog WHERE sensorid = %s"% sensorid)#Execute方法用来执行sql语句,sensorid=1, 从"sensorlog" 表中选取所在列    data = cur.fetchall()                #查询所有数据    dbsum=len(data)                      #所有数据的长度    dset={'sensorid':sensorid}           #字典    temp=[]                              #空数组    for i in range(dbsum):               #在该数据长度下轮询        value={}                         #空的字典        value['sensorvalue']=data[i][2]  #当前i值的温度        value['updatetime']=data[i][3]   #当前i值的时间        temp.append(value)               #temp对象末尾创建value        #dset['value']={'sensorvalue':data[i-1][2],'updatetime':data[i-1][3]}    dset['value']=temp #在该字典后面放入温度和时间    djson=json.dumps(dset)#把编码字典数据    return djson #返回所有数据 #Adding data@app.route("/input",methods=['POST','GET']) #响应终端的 postget 请求,获取实时温度def add_data():    if request.method == 'POST':          sensorid = int(request.form.get('id'))        sensorvalue = float(request.form.get('val'))    else:        sensorid = int(request.args.get('id'))        sensorvalue = float(request.args.get('val'))    nowtime = datetime.datetime.now()    nowtime = nowtime.strftime('%Y-%m-%d %H:%M:%S')    db = sqlite3.connect(DATABASE)    cur = db.cursor()cur.execute("INSERT INTO sensorlog(sensorid,sensorvalue,updatetime) VALUES(%d,%f,'%s')" %(sensorid,sensorvalue,nowtime) )    db.commit()          #事务提交,保存修改内容。    cur.execute("SELECT * FROM sensorlist where sensorid = %d"% sensorid)    rv = cur.fetchall()    cur.close()    db.close()       #关闭数据库,不自动提交保存。    maxrv = rv[0][2]     minrv = rv[0][3]    if sensorvalue > maxrv or sensorvalue < minrv:        return '1'    else:        return '0' if __name__ == "__main__":    app.run(host="0.0.0.0", port=8080,threaded=True)  #绑定 Web 服务器的 IP 和端口#室内环境检测系统html代码<!doctype html><body><meta http-equiv="refresh" content="60"></body><style>#center{ MARGIN-RIGHT: auto;MARGIN-LEFT: auto;background:#eff7ff;width:600px;    height:500px;vertical-align:left;overflow-y:scroll; overflow-x:scroll}</style><title>室内环境监测系统</title><h1 align="center">室内环境监测系统</h1><h2 align="center">当前室内温度:{{temp}} </h2><h2 align="center"><a href="/">刷新</a>历史数据列表:</h2><div >  温度    记录时间<br>  {% for i in data[::-1] %}       {{i[2]}}    {{i[3]}} <br>  {% endfor %}</div><br><div align="center" >提交数据:<a href="/input?id=1&val=255">/input?id=1&val=255</a><br>获取数据:<a href="/get?id=1">/get?id=1</a></div>   

    英语朗读宝
    欢迎来到教习网
    • 900万优选资源,让备课更轻松
    • 600万优选试题,支持自由组卷
    • 高质量可编辑,日均更新2000+
    • 百万教师选择,专业更值得信赖
    微信扫码注册
    qrcode
    二维码已过期
    刷新

    微信扫码,快速注册

    手机号注册
    手机号码

    手机号格式错误

    手机验证码 获取验证码

    手机验证码已经成功发送,5分钟内有效

    设置密码

    6-20个字符,数字、字母或符号

    注册即视为同意教习网「注册协议」「隐私条款」
    QQ注册
    手机号注册
    微信注册

    注册成功

    返回
    顶部
    Baidu
    map