以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLdeletefor 无法删除行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121250)

--  作者:lur320
--  发布时间:2018/7/2 16:23:00
--  SQLdeletefor 无法删除行
dim lines as int... 
lines=DataTables("DailyOutput").SQLDeleteFor("[so_no]= \'" & e.DataRow("so_no") & "\'AND [Work_station] = \'" & e.DataRow("Work_station") & "\'")
MessageBox.Show("[so_no]= \'" & e.DataRow("so_no") & "\' AND [Work_station] = \'" & e.DataRow("Work_station") & "\'" & lines)

结果显示[so_no]=\'7010\' AND [Work_station]=\'臂\' 0
lines显示1条都没有删除。

但是去SQL server里面看,依旧存在大量的订单7010没有删除。

后来我把黄色部分代码删除,所有订单都没了,但是我的需求是按照工位station来删除的。请教。

--  作者:lur320
--  发布时间:2018/7/2 16:36:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:capture.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/7/2 18:50:00
--  

你的列【so_no】、【Work_station】是什么类型?如果是char或者nchar,会有多余空格的。要改成varchar

 

数据库的字段类型,不要用char或者nchar,如果用了,会在后面加入空格的;请改成varchar或者nvarchar,然后,把数据后面的空格删除,可以写代码

 

For Each r As Row In Tables("表A").rows
    For Each c As Col In r.Table.cols
        r(c) = cstr(r(c)).trim
    Next
Next


--  作者:lur320
--  发布时间:2018/7/2 19:31:00
--  
我的数据库是从狐表导入到外部数据库的,还么有检查过。
so_no和work_station是字符型,长度限制50.
SQL server里面没有查过,现在去看。

--  作者:lur320
--  发布时间:2018/7/2 19:34:00
--  
数据库里面是nvchar

图片点击可在新窗口打开查看此主题相关图片如下:capture.png
图片点击可在新窗口打开查看


--  作者:lur320
--  发布时间:2018/7/2 19:42:00
--  
使用SQL命令专门跑了select。

图片点击可在新窗口打开查看此主题相关图片如下:capture.png
图片点击可在新窗口打开查看


--  作者:lur320
--  发布时间:2018/7/2 19:45:00
--  
使用SQL命令专门跑了select。

slect * frm {DailyOutput} where Work_station = \'臂\' 无结果
slect * frm {DailyOutput} where so_no = \'11\'  正常工作
slect * frm {DailyOutput} where Work_station = \'臂\' and Work_station = \'臂\' 无结果
肯能是什么引起的?


--  作者:有点蓝
--  发布时间:2018/7/2 20:16:00
--  
select Work_station, len(Work_station) as 字符长度 frm DailyOutput 

执行什么sql,看返回的长度是多少

--  作者:lur320
--  发布时间:2018/7/2 20:43:00
--  
问题解决了。
我在SQL 里面直接执行sel  ct * fr m [dbo].[DailyOutput] where [Work_station] =\'臂\'
也无法出现行。
后来查到问题是排序规格不正确。

如果需要判断的列会出现中文,那么需要将数据库的排序规则改为Chinese_PRC_CI_AS
https://jingyan.baidu.com/article/c74d600060804a0f6a595dfd.html