关于listbox大小的运算

heibao18 2006-10-24 04:03:08
案例如下:

for (int i = 0; i < listBox1.Items.Count; i++)
{
OleDbCommand command2 = new OleDbCommand( " INSERT INTO Grade (Num) VALUES (?)" , connection1);
command2.Parameters.Add("Param1", System.Data.OleDb.OleDbType.Double, 0);
command2.Parameters[1].Value = 1*(i + 1)/ListBox1.Items.Count;
command2.ExecuteNonQuery();

}

比如说listBox.Items.Count的大小为4, 那个Num里面应该有0.25, 0.50, 0.75 , 1.00这样的数才对。
为什么我得到的是4个0?

请指教, 谢谢
...全文
131 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
heibao18 2006-10-24
  • 打赏
  • 举报
回复
谢了, xingyaohua

晕了,我怎么没有看见
heibao18 2006-10-24
  • 打赏
  • 举报
回复
错了,,,重新贴一下代码,可是还是有问题
for (int i = 0; i < listBox1.Items.Count; i++)
{
OleDbCommand command2 = new OleDbCommand( " INSERT INTO Grade (Num) VALUES (?)" , connection1);
command2.Parameters.Add("Param1", System.Data.OleDb.OleDbType.Double, 0);
command2.Parameters[0].Value = 1*(i + 1)/ListBox1.Items.Count;
command2.ExecuteNonQuery();

}

结果是 0, 0,0, 1 (假设listbox里面只有4 个值)

我想要0.25, 0.50, 0.75, 1.00 这样的。

帮我看看,谢谢
xingyaohua 2006-10-24
  • 打赏
  • 举报
回复

command2.Parameters[1].Value = 1*(i + 1)/ListBox1.Items.Count;
改成
command2.Parameters[1].Value = 1.0*(i + 1)/ListBox1.Items.Count;
andybogard 2006-10-24
  • 打赏
  • 举报
回复
Parameters集合的每个Parameter要先new再赋值
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-24 04:03
社区公告

让您成为最强悍的C#开发者