以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]delect 、update。insert into 等修改外源表数据的命令在FOXTABLE中无效  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=19664)

--  作者:zunwoun
--  发布时间:2012/5/17 14:01:00
--  [求助]delect 、update。insert into 等修改外源表数据的命令在FOXTABLE中无效

delect 、update。insert into  等修改外源表数据的命令在FOXTABLE中无效,但select这些不修改数据的命令有效,但在SQL命令窗口中所有语句执行都有效,请专家指点,万分感谢!


--  作者:狐狸爸爸
--  发布时间:2012/5/17 14:40:00
--  
绝对有效的,你从何判断是无效的?
注意delect 、update。insert into实在后天操作,你要重新load数据,才能看出变化。

--  作者:zunwoun
--  发布时间:2012/5/17 15:50:00
--  
以下是引用狐狸爸爸在2012-5-17 14:40:00的发言:
绝对有效的,你从何判断是无效的?
注意delect 、update。insert into实在后天操作,你要重新load数据,才能看出变化。

我是从外部数据源预览中看数据变化,在FOXTABLE编程中可以执行但没有变化,在SQL窗口中执行有关命令却有变化,以下是简化的程序:

 

Dim cmd As New SQLCommand

cmd.C

      

   Dim 新密码 As String =Forms("主页面").Controls("新密码").value

   Dim 旧密码 As String =Forms("主页面").Controls("旧密码").value

    If 新密码="" Then

    msgbox("新密码不能为空!",64,"提示")

 

    Else

   

      cmd.CommandText = "select 密码 From {权限} where 姓名 = \'" & 用户 & "\'"

      Dim 柜员密码 As String = cmd.ExecuteScalar()

       If 柜员密码 = 旧密码 And 柜员密码 <> "" Then

      Dim ct As String

      ct = "Update {权限} set  密码 = \'" & 新密码 & "\' where 姓名 = \'" & 用户 & "\'"

        cmd.CommandText =ct

      msgbox("密码修改成功!",64,"提示")

      Forms("主页面").close

      画面="画面01"

      Forms("主页面").OPEN

      Else

      msgbox("旧密码输入不正确!",64,"提示")

      End If

  End If

 


--  作者:狐狸爸爸
--  发布时间:2012/5/17 15:56:00
--  

不要怀疑是否有效,这是基本的功能,岂会无效。
如果无效,肯定是你代码有问题,例如合成的where条件有误,或者不符合前面的if语句条件,语句根本没有执行。
 
帮助还有个例子,和你的类似,你可以看看,并进行测试:
http://www.foxtable.com/help/topics/2048.htm


 
建议也看看:

http://www.foxtable.com/help/topics/1485.htm

 
 
 


--  作者:zunwoun
--  发布时间:2012/5/17 16:28:00
--  
以下是引用狐狸爸爸在2012-5-17 15:56:00的发言:

不要怀疑是否有效,这是基本的功能,岂会无效。
如果无效,肯定是你代码有问题,例如合成的where条件有误,或者不符合前面的if语句条件,语句根本没有执行。
 
帮助还有个例子,和你的类似,你可以看看,并进行测试:
http://www.foxtable.com/help/topics/2048.htm


 
建议也看看:

http://www.foxtable.com/help/topics/1485.htm

 
 
 因为Where 的条件是IF执行前取数条件一样,否则IF就无效,我在IF内装msgbox()语句,能执行,说明IF也是成立的,我看程序也没有什么问题,太郁闷,刚学就卡住了,本来想买开发版的,现在不知道买不买好。


 


--  作者:狐狸爸爸
--  发布时间:2012/5/17 16:32:00
--  

1、这是编程所必须经历的阶段。

2、实在搞不定,可以做个简单的例子发上来,然后具体说明你的问题,我们帮你分析一下。

 


--  作者:kylin
--  发布时间:2012/5/17 20:11:00
--  

楼主确实猴急,你连抄写不够认真呢:

在msgbox("密码修改成功!",64,"提示")之前加一句cmd.ExecuteNonQuery()看看


--  作者:zunwoun
--  发布时间:2012/5/18 10:47:00
--  
以下是引用kylin在2012-5-17 20:11:00的发言:

楼主确实猴急,你连抄写不够认真呢:

在msgbox("密码修改成功!",64,"提示")之前加一句cmd.ExecuteNonQuery()看看

太感谢您了,我真的有点猴急,还是要把基础扎实一点!