Foxtable(狐表)用户栏目专家坐堂 → 用关键词作为列名时,代码执行错误


  共有11120人关注过本帖树形打印复制链接

主题:用关键词作为列名时,代码执行错误

帅哥哟,离线,有人找我吗?
红叶
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
用关键词作为列名时,代码执行错误  发帖心情 Post By:2011/2/28 15:28:00 [只看该作者]

Dim cmd1 As New SQLCommand
cmd1.C
cmd1.commandText = "Select Count(*) From {Users} Where Name = '管理员'And Group = '管理员' And Password = '888'"
If cmd1.ExecuteScalar = 0 Then
    cmd1.commandtext = "Insert Into Users (Name,Group,Password) Values('管理员','管理员''888')"
    cmd1.ExecuteNonQuery
End If

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
红叶
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/2/28 15:30:00 [只看该作者]

Dim cmd1 As New SQLCommand
cmd1.C
cmd1.commandText = "Select Count(*) From {Users} Where Name = '管理员'And [Group] = '管理员' And Password = '888'"
If cmd1.ExecuteScalar = 0 Then 
    cmd1.commandtext = "Insert Into Users (Name,Group,Password) Values('管理员','管理员''888')"
    cmd1.ExecuteNonQuery
End If

在Group加上[]这一样出现这个错误提示


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/28 15:38:00 [只看该作者]

1、都加上[]:

 

Select Count(*) From {Users} Where [Name] = '管理员' And [Group] = '管理员' And [Password] = '888'

 

2、如果可以的话,建议列名不要用Group、User、Password这样的关键词。


 回到顶部
帅哥哟,离线,有人找我吗?
红叶
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/2/28 15:50:00 [只看该作者]

1,都加上[]还是不行

2,因为是按事例中的自定义设置的,表名和列名

   记不记得以前我反映过定向表的时候,这些表名和列名也出现过问题,回来你在2月22日更新中已处理

   是不是这次这个也算子BUG,狐爸,你得看看


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/28 15:51:00 [只看该作者]

按道理不会出现错误,做个例子上传看看


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/28 15:52:00 [只看该作者]

这里也应该加上[]:

 

Insert Into [Users] ([Name],[Group],[Password]) Values('管理员','管理员''888')


 回到顶部
帅哥哟,离线,有人找我吗?
红叶
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/2/28 15:52:00 [只看该作者]

我试过了,的确是表名和列名的问题,真的是BUG

我是在AfterOpenProject中设置的以上代码

狐爸,想办法解决一下,当然不想改已设置好的表名和列名


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/2/28 15:53:00 [只看该作者]

不是bug,看6楼,搞不定做例子上传我看看。

 回到顶部
帅哥哟,离线,有人找我吗?
红叶
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/2/28 15:58:00 [只看该作者]

经测试

这里也应该加上[]:

 

Insert Into [Users] ([Name],[Group],[Password]) Values('管理员','管理员''888')
这样可以,但是为什么呢?


 


 回到顶部
帅哥哟,离线,有人找我吗?
红叶
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/2/28 16:01:00 [只看该作者]

同样的道理

AfterOpenProject中判断"表A"(加载后的表)是否存一行而且只存在一行,如果不存行就增加一行,如果存在多行就删除多余的行


 回到顶部
总数 13 1 2 下一页