Im пытается получить все мои записи таблицы с помощью webservice. Я попытался это:Возврат последней строки в webservice
public class Student
{
public int id;
public string name;
public string grade;
}
[WebMethod]
public Student[] getall()
{
Student objStd = new Student();
Student[] stds = new Student[400];
SqlConnection conn;
conn = Class1.ConnectionManager.GetConnection();
conn.Open();
SqlCommand newCmd = conn.CreateCommand();
newCmd.CommandType = CommandType.Text;
newCmd.CommandText = "select * from dbo.tblUser";
SqlDataReader sdr = newCmd.ExecuteReader();
for (int runs = 0; sdr.Read(); runs++)
{
objStd.id = Int32.Parse(sdr["Id"].ToString());
objStd.name = sdr["name"].ToString();
objStd.grade = sdr["grade"].ToString();
stds[runs] = objStd;
}
conn.Close();
sdr.Close();
return stds;
}
, но результат этого таков:
<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfStudent xmlns="http://tempuri.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<Student>
<id>8</id>
<name>hhhhh</name>
<grade>76</grade>
</Student>
-<Student>
<id>8</id>
<name>hhhhh</name>
<grade>76</grade>
</Student>
-<Student>
<id>8</id>
<name>hhhhh</name>
<grade>76</grade>
</Student>
-<Student>
<id>8</id>
<name>hhhhh</name>
<grade>76</grade>
</Student>
....
это вернет только последнюю запись снова и снова, почему?
Что я должен исправить в своем коде?
Вы меняли один и тот же объект снова и снова. Поместите 'Student objStd = new Student();' в цикле. –