以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 从字符串“”到类型“Double”的转换无效。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174479)

--  作者:2900819580
--  发布时间:2022/1/17 19:39:00
--  [求助] 从字符串“”到类型“Double”的转换无效。
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.1.10.2
错误所在事件:窗口,Main,Comb大楼,TextChanged
详细错误信息:
从字符串“”到类型“Double”的转换无效。
输入字符串的格式不正确。

代码如下
cmd.CommandText = "selec t * from {面积数据表} where 部门名称 = \'基建面积\' and 大楼名称 = \'厂区\' and 楼层名称 = \'行政楼\'"
sdt = cmd.ExecuteReader
MessageBox.Show(sdt.DataRows(0)("面积"))  显示数值为464
If sdt.DataRows.Count > "" Then
    e.Form.Controls("Txt基建面积").text = sdt.DataRows(0)("面积")
End If


--  作者:有点蓝
--  发布时间:2022/1/17 20:33:00
--  
贴出下面出错事件的完整代码:
错误所在事件:窗口,Main,Comb大楼,TextChanged

--  作者:2900819580
--  发布时间:2022/1/17 20:51:00
--  
Dim cmd As new SQLCommand
cmd.C
Dim sdt As DataTable
cmd.CommandText = "sele ct * from {面积数据表} where 部门名称 = \'基建面积\' and 大楼名称 = \'厂区\' and 楼层名称 = \'行政楼\'"
sdt = cmd.ExecuteReader
MessageBox.Show(sdt.DataRows(0)("面积"))
If sdt.DataRows.Count > "" Then
    e.Form.Controls("Txt基建面积").text = sdt.DataRows(0)("面积")
End If

--  作者:有点蓝
--  发布时间:2022/1/17 21:03:00
--  
"Txt基建面积"是不是绑定了表列?表格datacolchanged有没有事件?
--  作者:2900819580
--  发布时间:2022/1/17 21:06:00
--  
"Txt基建面积" 没有绑定了表列
表格没有datacolchanged

数据表是SQL表

--  作者:2900819580
--  发布时间:2022/1/17 21:10:00
--  

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

表结构如上

--  作者:有点蓝
--  发布时间:2022/1/17 21:55:00
--  
Dim cmd As new SQLCommand
cmd.C
Dim sdt As DataTable
cmd.CommandText = "sele ct * from {面积数据表} where 部门名称 = \'基建面积\' and 大楼名称 = \'厂区\' and 楼层名称 = \'行政楼\'"
sdt = cmd.ExecuteReader

If sdt.DataRows.Count > "" Then
MessageBox.Show(sdt.DataRows(0)("面积"))
    e.Form.Controls("Txt基建面积").text = sdt.DataRows(0)("面积")
MessageBox.Show(e.Form.Controls("Txt基建面积").text)
End If

--  作者:2900819580
--  发布时间:2022/1/18 8:54:00
--  
问题依旧
--  作者:有点蓝
--  发布时间:2022/1/18 8:59:00
--  
哪个提示框弹不出来?
--  作者:2900819580
--  发布时间:2022/1/18 13:30:00
--  
弹不出来。只弹出来错误。 如果将提示框写在前面就会弹出数据库中的数值,464

Dim cmd As new SQLCommand
cmd.C
Dim sdt As DataTable
cmd.CommandText = "se lect * from {面积数据表} where 部门名称 = \'基建面积\' and 大楼名称 = \'厂区\' and 楼层名称 = \'行政楼\'"
sdt = cmd.ExecuteReader
MessageBox.Show(sdt.DataRows(0)("面积"))

If sdt.DataRows.Count > "" Then
MessageBox.Show(sdt.DataRows(0)("面积"))
    e.Form.Controls("Txt基建面积").text = sdt.DataRows(0)("面积")
MessageBox.Show(e.Form.Controls("Txt基建面积").text)
End If

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.1.10.2
错误所在事件:窗口,Main,Comb大楼,TextChanged
详细错误信息:
从字符串“”到类型“Double”的转换无效。
输入字符串的格式不正确。