【发布时间】:2012-03-28 16:35:49
【问题描述】:
我收到错误:
“输入字符串的格式不正确。”
注意:如果我将第 182 行更改为引号中的实际数字(即“3”或“875”),并注释掉第 171 行,此代码可以正常工作。但是,第 174 行中的“{7}”是一个应该自动递增但不会自动递增的字段。所以我试图在第 171 行获得一个“数字”,它将使用行数 + 1 来执行 auto-=increment。
有谁愿意接受这个? :-)
171 string rowCount = string.Format("SELECT COUNT(*) FROM Log WHERE Location is NULL");
173 string sql = string.Format("insert into Log values " +
174 "('{0}','{1}',{2},{3},'{4}',#{5}#,'{6}','{7}')",
175 comboBox1.Text,
176 comboBox2.Text,
177 float.Parse(textBox1.Text),
178 float.Parse(comboBox3.Text),
179 textBox3.Text,
180 textBox2.Text,
181 addRemove,
182 int.Parse(rowCount)
183 );
【问题讨论】:
-
再次,请提前假设第 173 到 181 行没有任何问题,因为这部分代码会将数据插入到我的表中。我不禁想到必须解析第 171 行的结果数据。但我似乎无法得到它。 :-/
-
为什么要对字符串执行 String.Format(第 171 行)而不实际格式化它?
-
您在 SQL 查询中调用“int.Parse”?本质上: int.Parse("SELECT COUNT(*) FROM Log WHERE Location is NULL");这就是问题所在。也许您的意思是解析查询的结果,而不是查询本身。
-
@ChrisSinclair,准确地说。我该如何解析呢?
-
@ChrisSinclair 也许这是第 172 行? :-)