摆个擂台,大家看有没有更好的方法。我觉得大家肯定有比我好的方法。

wangyanyan 2007-06-16 11:40:14
1.
数据库内容:(简写)
ID 值 数组序号
** ** 5
** ** 3
** ** 1
** ** 0
** ** 0
自增 ** 没有序号默认都是0
2.
数组长度是6,现在是7因为0我不打算用。
string[] List = {"kong","kong","kong","kong","kong","kong","kong"};
3.
首先我提取序号不为0的前6个,因为事先我不知道有几个:第一次提数据库
while((Reader.Read())&&(int.Parse(Reader["数组序号"].ToString())!=0))
{
List[int.Parse(Reader["数组序号"].ToString())] = Read["值"];
}
也就是说list[5],list[3],list[1]已经有值。

第二步提取为0的前6个,因为我不知道前面有几个已经有值。
也就是list[6],list[4],list[2]按Id号最大的开始赋值
下面的方法最不可取:
while(Read2.Read())
{
for (int k = 6; k >= 1;k-- )
{
if (List[k] == "kong")
{
List[k] = Read2["值"];
break;
}
}
}
也就是说上面的方法有可能循环36次觉得不好,各位有什么好办法。
...全文
196 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2007-06-16
  • 打赏
  • 举报
回复
同不知道...擂台?比武招亲吗?
xuyiazl 2007-06-16
  • 打赏
  • 举报
回复
看了第2遍 还是不知道你想要干什么?
xuyiazl 2007-06-16
  • 打赏
  • 举报
回复
不知道你想要干什么!!!!!
wangyanyan 2007-06-16
  • 打赏
  • 举报
回复
或者哪位高人用Sql语句或存储过程写出来。
一个要取出六条记录,
==============如这样。
ID 值 数组序号
3 ** 5
6 ** 3
7 ** 1
9 ** 0
10 ** 0
23 ** 0
order by 数组序号 desc,ID desc得到结果。
ID 值 数组序号
3 ** 5
6 ** 3
7 ** 1
23 ** 0
10 ** 0
9 ** 0
没有下标为6的,
数组 ID
list[6] 23
list[5] 3
list[4] 10
wangyanyan 2007-06-16
  • 打赏
  • 举报
回复
1.数据库里有一个字段对应数组下标如上:但数组下标可能是不连续的,也可能是连续的。
2.数据库里有下标的就把相应值填进去,见第一次循环,把有下标的三个list[5],list[3],list[1]给值
3.剩下三个list[2],list[4],list[6],按ID号大的分别给值。
我觉得我的方法很不好。因为第一次如果六个下标的值都有的话,你二次还要白白循环36次。
belldandy11 2007-06-16
  • 打赏
  • 举报
回复
.......................................
gauzxj 2007-06-16
  • 打赏
  • 举报
回复
...

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧