| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1976 人关注过本帖
标题:SQLEXEC 不能识别的短语和关键字
只看楼主 加入收藏
louzhenghong
Rank: 1
等 级:新手上路
帖 子:54
专家分:5
注 册:2016-4-25
结帖率:64.71%
收藏
已结贴  问题点数:20 回复次数:9 
SQLEXEC 不能识别的短语和关键字
RESTORE FROM D:\水表报修\szb.txt addi
  lcodbcdriver  =ALLTRIM(szb_类型)
  lcodbcserver  =ALLTRIM(szb_服务器)
  lcodbcdatabase=ALLTRIM(szb_数据库)
  lcuid     =ALLTRIM(szb_用户)
  lcpwd     =ALLTRIM(szb_密码)
con1=sqlstringconnect('driver='+lcodbcdriver+';server='+lcodbcserver+';database='+lcodbcdatabase+';uid='+lcuid+';pwd='+lcpwd) &&建立测试连接句柄
if con1>0
  messagebox("连接成功!",0,"数据源")

  SELECT card_1
  *a(8)=ALLTRIM(thisform.Grid2.Value)
  *thisform.text6.Value=thisform.Grid2.Value
  a(8)=ALLTRIM(维修类型)
  SELECT card01
  a(1)=卡号
  a(2)=ALLTRIM(thisform.text1.Value)
  a(3)=ALLTRIM(thisform.text2.Value)
  a(4)=card01.地址
  a(5)=DATETIME()
  a(6)=ALLTRIM(thisform.text4.Value)
  a(7)=card01.管道口径
  a(9)=card01.一级区
  a(10)=card01.二级区
  a(11)=card01.三级区
  a(12)=card01.四级区
  a(13)=card01.五级区
  a(14)=card01.六级区
  a(15)=ALLTRIM(thisform.text5.Value)
  a(16)='受理'
  a(17)=''
  a(18)=''
  a(19)=card01.姓名
  a(20)=card01.业主电话
  a(21)=card01.业主手机
  a(22)=''
  a(23)=''
  a(24)=''
  a(25)=''
 
     *卡号,保修人,报修人电话,报修地址,报修时间,报修内容,管道口径,报修类型,一级区,二级区,三级区,四级区,五级区,六级区,特殊情况,维修标记,施工队,维修信息,业主,业主电话,业主手机,受理人,派工人,派工时间,派工单单号
  *TEXT TO lcSql TEXTMERGE NOSHOW PRETEXT 4
        * insert into dbo.bx (卡号,保修人,报修人电话,报修地址,报修时间,报修内容,管道口径,报修类型,一级区,二级区,三级区,四级区,五级区,六级区,特殊情况,维修标记,施工队,维修信息,业主,业主电话,业主手机,受理人,派工人,派工时间,派工单单号)
        * values (?a(1),?a(2),?a(3),?a(4),?a(5),?a(6),?a(7),?a(8),?a(9),?a(10),?a(11),?a(12),?a(13),?a(14),?a(15),?a(16),?a(17),?a(18),?a(19),?a(20),?a(21),?a(22),?a(23),?a(24),?a(25))
  *ENDTEXT
  SQLEXEC(con1,"insert into dbo.bx (卡号,保修人,报修人电话,报修地址,报修时间,报修内容,管道口径,报修类型,一级区,二级区,三级区,四级区,五级区,六级区,特殊情况,维修标记,施工队,维修信息,业主,业主电话,业主手机,受理人,派工人,派工时间,派工单单号) values (?a(1),?a(2),?a(3),?a(4),?a(5),?a(6),?a(7),?a(8),?a(9),?a(10),?a(11),?a(12),?a(13),?a(14),?a(15),?a(16),?a(17),?a(18),?a(19),?a(20),?a(21),?a(22),?a(23),?a(24),?a(25))")
保存的时候出现不能识别的短语和关键字,就指向最后的那个SQLEXEC
搜索更多相关主题的帖子: database 关键字 服务器 server 数据库 
2016-05-04 11:26
louzhenghong
Rank: 1
等 级:新手上路
帖 子:54
专家分:5
注 册:2016-4-25
收藏
得分:0 
如果改成这样,结果是插入失败了
TEXT TO lcSql TEXTMERGE NOSHOW PRETEXT 4
         insert into dbo.bx (卡号,保修人,报修人电话,报修地址,报修时间,报修内容,管道口径,报修类型,一级区,二级区,三级区,四级区,五级区,六级区,特殊情况,维修标记,施工队,维修信息,业主,业主电话,业主手机,受理人,派工人,派工时间,派工单单号)
         values (?a(1),?a(2),?a(3),?a(4),?a(5),?a(6),?a(7),?a(8),?a(9),?a(10),?a(11),?a(12),?a(13),?a(14),?a(15),?a(16),?a(17),?a(18),?a(19),?a(20),?a(21),?a(22),?a(23),?a(24),?a(25))
  ENDTEXT
  *SQLEXEC(con1,"insert into dbo.bx (卡号,保修人,报修人电话,报修地址,报修时间,报修内容,管道口径,报修类型,一级区,二级区,三级区,四级区,五级区,六级区,特殊情况,维修标记,施工队,维修信息,业主,业主电话,业主手机,受理人,派工人,派工时间,派工单单号)
  *values (?a(1),?a(2),?a(3),?a(4),?a(5),?a(6),?a(7),?a(8),?a(9),?a(10),?a(11),?a(12),?a(13),?a(14),?a(15),?a(16),?a(17),?a(18),?a(19),?a(20),?a(21),?a(22),?a(23),?a(24),?a(25))")


    if sqlexec(con1,lcSql)>0
      messagebox("插入成功",0,"数据源")
    else
     messagebox("插入失败",0,"数据源")
    endif
2016-05-04 11:47
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
你语句不要这么长,你可以分段处理,比如,你先插入5个,看看;行,再插入5个,这样你自己比较容易找到问题出在那里?
insert into dbo.bx (卡号,保修人,报修人电话,报修地址,报修时间) values (?a(1),?a(2),?a(3),?a(4),?a(5))
2016-05-04 13:59
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:5 
分段检查一下
2016-05-04 17:54
louzhenghong
Rank: 1
等 级:新手上路
帖 子:54
专家分:5
注 册:2016-4-25
收藏
得分:0 
我在表单的init 上定义了public   a(100)
然后给a(5)赋值的时候
a(5)=ALLTRIM(thisform.text3.Value)  数据类型不一致
用thisform.text10.Value=TYPE(a(5))显示了一下,居然是U,这是怎么回事?
2016-05-06 09:02
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:0 
回复 5楼 louzhenghong
ALLTRIM()要求参数是字符型表达式,但是 THISFORM.Text3.Value 不是字符型。如果 TYPE('THISFORM.Text3.Value')返回 U,则说明表单上根本就没有 Text3 这个控件,或控件的名称、引用层次有错误。

泉城飞狐
2016-05-06 09:14
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用louzhenghong在2016-5-6 09:02:24的发言:

我在表单的init 上定义了public   a(100)
然后给a(5)赋值的时候
a(5)=ALLTRIM(thisform.text3.Value)  数据类型不一致
用thisform.text10.Value=TYPE(a(5))显示了一下,居然是U,这是怎么回事?

可以预先定义某个 text 的数据类型的,在 表单的INIT 或者 各自的 TEXT 的INIT中预先定义
比如
thisform.text1.value=""
thisform.text2.value=0.00
thisform.text3.value=date()

2016-05-06 09:37
louzhenghong
Rank: 1
等 级:新手上路
帖 子:54
专家分:5
注 册:2016-4-25
收藏
得分:0 
是a(5)的数据类型是U,不是thisform.text3.value,给a(5)赋值thisform.text3.value就不对了

[此贴子已经被作者于2016-5-6 11:39编辑过]

2016-05-06 11:05
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:15 
以下是引用louzhenghong在2016-5-6 11:05:30的发言:

是a(5)的数据类型是U,不是thisform.text3.value,给a(5)赋值thisform.text3.value就不对了

你前面:
a(5)=DATETIME()
而你又:a(5)=allt(thisform.text3.value)
你a(5) 到底想要什么类型的?
如果你要的是时间日期
那就这样
在Text3 的INIT中
this.value=datetime()
然后a(5)=thisform.text3.value
或者
在Text3 的INIT中
this.value=""
然后a(5)=CTOT(thisform.text3.value)

2016-05-06 13:38
louzhenghong
Rank: 1
等 级:新手上路
帖 子:54
专家分:5
注 册:2016-4-25
收藏
得分:0 
回复 9楼 mywisdom88
其实那个a(5)=datetime() 早就删除了,只是在text5的那个click里还有一个赋值为datetime()的,一直搞不清楚到底在哪里出错
2016-05-06 14:42
快速回复:SQLEXEC 不能识别的短语和关键字
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018168 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved