以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  两个问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39372)

--  作者:jianjingmaoyi
--  发布时间:2013/8/22 20:42:00
--  两个问题

1)老大,编辑器真心不好用,不是功能的问题,一个是代码量稍微大一些,就卡,复制粘帖也卡,就一个字  卡死了.

 

 

2)

Dim cmd As new SQLCommand
Dim dt As DataTable
cmd.CommandText = "select * From {表A}"
dt = cmd.ExecuteReader(True) \'记得将参数设置为True
dt.DeleteFor("xxxxxxxxx")
dt.Save()

 

为啥这样删除不能用?

 

 


--  作者:有点甜
--  发布时间:2013/8/22 20:51:00
--  
 如果代码量大的话,建议在首行加入 \'\'\',,,

 第二个问题。dt是临时表,不是数据库的表,删除不影响数据库。你可以执行如下的操作。

Dim cmd As new SQLCommand
Dim dt As DataTable 
cmd.CommandText = "delete from {表A} where xxxx = \'xxxx\'"
dt = cmd.ExecuteNonQuery

--  作者:jianjingmaoyi
--  发布时间:2013/8/22 21:28:00
--  

但是现在不是可以操作临时表了?

 

示例五

ExecuteReader有一个可选参数,如果设置为True,那么生成的DataTable不仅可以修改,还可以保存。
新建一个文件,在命令窗口测试下面的代码,会在A的第一行的第一列写入123:

Dim cmd As new SQLCommand
Dim
dt As DataTable
cmd
.CommandText = "select * From {A}"
dt = cmd.ExecuteReader(
True) \'记得将参数设置为True
dt
.DataRows(0)("第一列") = 123
dt.Save()

DataTables(
"A").Load() \'重新加载表A,看看值是否已经变化

有了这个特性,很多时候,我们不再需要合成Update语句来更新没有加载的后台数据了。

例如要将订购数量超过100的订单的折扣,统一设置为0.05,代码为:

Dim cmd As new SQLCommand
Dim
dt As DataTable
cmd.CommandText =
"Select [_Identify],折扣 From {订单} Where 数量 >= 500"
dt
= cmd.ExecuteReader(True) \'记得将参数设置为True
For Each
dr As DataRow In dt.DataRows
  
dr("折扣") = 0.05
Next

dt
.Save()


--  作者:有点甜
--  发布时间:2013/8/22 21:39:00
--  
 哦哦,我理解错了,加了参数true可以操作原表了。

 我测试执行replaceFor可以,就是执行deleteFor的时候提示出错了。

 楼主,换一种思路来做吧。可能是bug

--  作者:blackzhu
--  发布时间:2013/8/23 7:42:00
--  
以下是引用有点甜在2013-8-22 21:39:00的发言:
 哦哦,我理解错了,加了参数true可以操作原表了。

 我测试执行replaceFor可以,就是执行deleteFor的时候提示出错了。

 楼主,换一种思路来做吧。可能是bug

    有可能的,上次是不能新增,估计这个是个bug.  望老大修复下.


  另外编辑器的问题,关闭了着色是快了很多,但是着色也是需要的呀.


--  作者:有点甜
--  发布时间:2013/8/23 20:38:00
--  
 编辑器,望改进,支持!期待更新
--  作者:狐狸爸爸
--  发布时间:2013/8/24 8:49:00
--  
呵呵,第二个问题收到, 我检查一下