以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  varchar数值转换为int  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116617)

--  作者:pursdream
--  发布时间:2018/3/28 11:32:00
--  varchar数值转换为int
窗口开发时,文本框输入是字符型的,但SQL中对应的数据格式是int型,如何转变?

请求有经验的您帮助。

--  作者:有点甜
--  发布时间:2018/3/28 12:42:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1513.htm

 


--  作者:pursdream
--  发布时间:2018/3/29 9:12:00
--  
试过了,还是出现以下情况: With Forms("预修复分析").Controls("TextBox1") If .Value Is Nothing Then Messagebox.Show("请输入编号!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If b.Filter = "{Point}.Optics_ID = \'CInt(.value) \' " 结果显示:将varchar值\'CInt(.value)\'转换为数据类型为int的列时发生语法错误
图片点击可在新窗口打开查看此主题相关图片如下:6.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:6-1.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/3/29 9:13:00
--  
b.Filter = "{Point}.Optics_ID = \'" & CInt(val(.value)) & "\'"
--  作者:pursdream
--  发布时间:2018/3/29 10:07:00
--  
Dim b As New SQLGroupTableBuilder("统计表1","Point") Dim d As fxDataSource b.C With Forms("预修复分析").Controls("TextBox1") If .Value Is Nothing Then Messagebox.Show("请输入编号!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If b.Filter = "{Point}.Optics_ID = "\'& CInt(val(.value)) &\'"" b.Groups.AddDef("_SN" , "序号") \'根据型号分组 b.Groups.AddDef("_Xmm" , "X坐标(mm)") \'根据型号分组 b.Groups.AddDef("_Ymm" , "Y坐标(mm)") \'根据型号分组 b.Groups.AddDef("_Diameter_um" , "直径(μm)") \'根据型号分组 End With 按照您的指导改完后,出现以下情况:
图片点击可在新窗口打开查看此主题相关图片如下:6-3.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/3/29 10:10:00
--  

1、如果去掉这句代码,能否正常? b.Filter = "{Point}.Optics_ID = \'" & CInt(val(.value)) & "\'"

 

2、贴出你写的完整的代码,你贴出的代码,请分行、断句,不要写在一起影响阅读。

[此贴子已经被作者于2018/3/29 10:10:32编辑过]

--  作者:pursdream
--  发布时间:2018/3/29 10:12:00
--  
之前是这样的:
b.Filter = "{Point}.Optics_ID = \'3 \'"
可以正常运行


--  作者:有点甜
--  发布时间:2018/3/29 10:15:00
--  
以下是引用pursdream在2018/3/29 10:12:00的发言:
之前是这样的:
b.Filter = "{Point}.Optics_ID = \'3 \'"
可以正常运行

 

那改成你原来的,能否正常运行?绝对不是这句代码的问题。


--  作者:pursdream
--  发布时间:2018/3/29 10:15:00
--  
Dim b As New SQLGroupTableBuilder("统计表1","Point") Dim d As fxDataSource b.C With Forms("预修复分析").Controls("TextBox1") If .Value Is Nothing Then Messagebox.Show("请输入编号!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If \' b.Filter = "{Point}.Optics_ID = "\'& CInt(val(.value)) &\'"" b.Filter = "{Point}.Optics_ID = \'3 \'" b.Groups.AddDef("_SN" , "序号") \'根据型号分组 b.Groups.AddDef("_Xmm" , "X坐标(mm)") \'根据型号分组 b.Groups.AddDef("_Ymm" , "Y坐标(mm)") b.Groups.AddDef("_Diameter_um" , "直径(μm)") End With d = b.BuildDataSource() Tables("预修复分析_Table1").DataSource = d \'将统计结果绑定到Table
[此贴子已经被作者于2018/3/29 10:15:43编辑过]

--  作者:pursdream
--  发布时间:2018/3/29 10:17:00
--  
为什么我点的是代码模式编辑,发表后就变成一段了