以文本方式查看主题 - 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 -- 为什么我点的是代码模式编辑,发表后就变成一段了 |