吃跳跳 发表于 2020-2-17 08:52

【求助】易语言里有个小问题麻烦大家帮忙看看~~

易语言里,设置操作mysql的值,但是不知道为什么一直执行不了。
在mysql里执行这句是正常的
UPDATE online_log SET kongxian = kongxian + 10 WHERE name = '李四')



本人小白~~下面是代码全文,打扰大家了。麻烦帮忙解答一下~~

.版本 2
.支持库 eAPI
.支持库 mysql
.支持库 spec

.程序集 窗口程序集_启动窗口
.程序集变量 lpStruct, LASTINPUTINFO

.子程序 _时钟1_周期事件
.局部变量 空闲时间, 整数型
.局部变量 sqlyj, 文本型

空闲时间 = GetTickCount () - lpStruct.dwTime
lpStruct.cbSize = LocalSize (lpStruct)
.如果 (GetLastInputInfo (lpStruct))
    标签1.标题 = 到文本 (GetTickCount () - lpStruct.dwTime)
.否则

.如果结束

.如果 (到整数 (标签1.标题) > 3000)
    模拟按键 (#A键, , )

    ' 记录空闲时间
    sql4 = “UPDATE online_log SET kongxian = kongxian + 10 WHERE name = '” + 编辑框1.内容 + “') ”
    执行SQL语句 (数据库句柄, sql4)
    调试输出 (执行SQL语句 (数据库句柄, sql4))
    调试输出 (sql4)

    ' 执行SQL语句 (数据库句柄, sql4)
.否则

.如果结束


.子程序 _按钮1_被单击

时钟1.时钟周期 = 1000

信息框 (“上班打卡成功”, 0, , )

' 记录姓名
sql1 = 取文本 (“insert into online_log(name) values('%s')”, 编辑框1.内容)

' 记录上班时间
sql2 = 取文本 (“UPDATEonline_log SET sb=now() WHERE NAME='%s'”, 编辑框1.内容)

执行SQL语句 (数据库句柄, sql2)
调试输出 (执行SQL语句 (数据库句柄, sql1))
调试输出 (sql1)
调试输出 (执行SQL语句 (数据库句柄, sql2))
调试输出 (sql2)


.子程序 _按钮2_被单击

' 记录下班时间
信息框 (“下班打卡成功!”, 0, , )

sql3 = “UPDATEonline_log SET xb=now() WHERE NAME='” + 编辑框1.内容 + “'”
执行SQL语句 (数据库句柄, sql3)
调试输出 (执行SQL语句 (数据库句柄, sql3))
调试输出 (sql3)




.子程序 __启动窗口_被激活
.局部变量 sql0, 文本型
.局部变量 记录集句柄, 整数型
.局部变量 数据内容, 文本型, , "2"


' 连接数据库
数据库句柄 = 连接MySql (“101.133.238.35”, “root”, “P@ssw0rdd”, “yc”, 3306)

执行SQL语句 (数据库句柄, “set names gbk”)

' 判断是否连接
.如果真 (数据库句柄 = 0)
    _启动窗口.标题 = “连接失败!”
    结束 ()
.如果真结束


_启动窗口.标题 = “中智诚远程打卡”
' 读取通知
sql0 = “select * from message where id=1”
执行SQL语句 (数据库句柄, sql0)
记录集句柄 = 取记录集 (数据库句柄)
读字段值 (记录集句柄, “message”, 数据内容 )
读字段值 (记录集句柄, “id”, 数据内容 )
标签3.标题 = 数据内容

luanshils 发表于 2020-2-17 09:38

本帖最后由 luanshils 于 2020-2-17 10:21 编辑

kongjian 是什么类型




sql4 = “UPDATE online_log SET kongxian = kongxian + 10WHERE name = '” + 编辑框1.内容 + “') ”
                                             
                                                                           ↑

etkane 发表于 2020-2-17 09:41

读取错误代码或者提示,谷歌一下你就知道了,也可以在mysql里输入命令看看错误提示

lchis 发表于 2020-2-17 10:06

sql4 = “UPDATE online_log SET kongxian = kongxian + 10 WHERE name = '” + 编辑框1.内容 + “') ”

kongxian这个是字段,在数据库里看一下是不是数值类型,如果是应该是可以的

hketp 发表于 2020-2-17 11:59

“UPDATE online_log SET kongxian = kongxian + 10WHERE name = '” + 编辑框1.内容 + “') ”
我可以理解为你sql语句是
UPDATE online_log SET kongxian = kongxian + 10 WHERE name = '??? ')
但是后面加个右括号是啥意思? 这能执行?

Ahsh14 发表于 2020-2-17 16:15

sql4 = “UPDATE online_log SET kongxian = kongxian + 10 WHERE name = '” + 编辑框1.内容 + “') ”

我虽然不会易语言,但是我看你这最后面那个)明显有问题
前面没有(与之对应
要吗去掉),要吗增加(

蜂窝煤 发表于 2020-2-17 16:16

可以先把sql4输出看一下,是不是括号或者符号啥的不在你想象的位置

l101 发表于 2020-2-27 22:15

应该是括号问题{:301_998:}
页: [1]
查看完整版本: 【求助】易语言里有个小问题麻烦大家帮忙看看~~