DataReader循环读数据的问题。注:8个数值,一行一个。不是同一行8个值。

zds835 2005-09-29 09:16:26
如: dkye
105022.00
122541.00
92012.25
130022.00
137558.00
120000.00
125048.30
120544.20
是8行,每行一个值啊。不是同一行8个值。
用DataSet是可以实现的ds.Tables["chart"].Rows[i]["ckye"]
用DataReader怎么做啊,怎么循环呢?
...全文
400 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
-勇敢的心- 2005-09-29
  • 打赏
  • 举报
回复
问题简单大家都会
ghchen 2005-09-29
  • 打赏
  • 举报
回复
这怎么能转换了
while(read.Read())
{
i++ ;
yValues[i]=(double)read["dkye"];//要这样赋值
}
h_lj 2005-09-29
  • 打赏
  • 举报
回复
是这样:
yValues[i]=(double)dr["ckye"];
dr["ckye"]只是一个值啊,要用循环做的。
zds835 2005-09-29
  • 打赏
  • 举报
回复
double[] yValues = new double[9];
yValues=(double[])dr["ckye"];
转换无效。怎么转换啊
pwqzc 2005-09-29
  • 打赏
  • 举报
回复
应该解决了
aaron_lly 2005-09-29
  • 打赏
  • 举报
回复
while dr.read()

response.write(dr(字段))
response.write("</br>")

end while
h_lj 2005-09-29
  • 打赏
  • 举报
回复
楼上的都没问题,moonshineidolon(moonshine)和lovefootball(蟑螂)的很清楚了。
如果要放入数组,那在知道记录数的情况下可以直接创建好数组。如果记录数不确定,那先建一个arraylist或stringbuilder,等取完数据后再转换为数组。
辉说慧语 2005-09-29
  • 打赏
  • 举报
回复

conn.Open();
SqlCommand cmd=conn.CreateCommand();
cmd.CommandText ="select id from mytry";
SqlDataReader mydr=cmd.ExecuteReader();
while(mydr.Read())
{
Response.Write(mydr[0].ToString()+"<br>");
}
lovefootball 2005-09-29
  • 打赏
  • 举报
回复
while(read.Read())
{
f=read["dkye"].ToString();//f就是每行的值
}
zds835 2005-09-29
  • 打赏
  • 举报
回复
各位大哥,不是同一行的8个值啊,dr[i]会出现索引超出了数组界限的错误的。是一行一个值啊,然后把8个值放入一个数组中。
egonzou 2005-09-29
  • 打赏
  • 举报
回复
while(dr.read())
{
string text = dr["dkey"].ToString()+"<br>";
}
moonshineidolon 2005-09-29
  • 打赏
  • 举报
回复
DataReader sdr = new DataReader ();

string strTemp;
while sdr.read()
{
strTemp = sdr.getstring(0).ToString();
}
豌豆干 2005-09-29
  • 打赏
  • 举报
回复
SqlCommand myCMD = new SqlCommand("SELECT CategoryID, CategoryName FROM Categories;" +
"SELECT EmployeeID, LastName FROM Employees", nwindConn);
nwindConn.Open();

SqlDataReader myReader = myCMD.ExecuteReader();

do
{
Console.WriteLine("\t{0}\t{1}", myReader.GetName(0), myReader.GetName(1));

while (myReader.Read())
Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));

} while (myReader.NextResult());

myReader.Close();
nwindConn.Close();
hs_tang7788 2005-09-29
  • 打赏
  • 举报
回复
while(read.Read())
{
*** f=read["string name"].ToString()
}
zds835 2005-09-29
  • 打赏
  • 举报
回复
各位不要说我罗嗦:
double[] yValues = new double[9];
while(dr.Read())
{
for(int i=0;i<9;i++)
{
yValues[i]=Convert.ToDouble(dr["dkye"]);
}
}
TextBox1.Text=yValues[1].ToString();
TextBox2.Text=yValues[2].ToString();
应该是yValues[i]=Convert.ToDouble(dr["dkye"]);
问题是TextBox1.Text1和TextBox1.Text2得到的是同一个值,都是第9行最后一个值。yValues[]中9个值都是最后一行的值 120544.20。

62,046

社区成员

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

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

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

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