C# 如何处理从静态函数返回的多变量类对象
我不知道如何处理从静态函数返回的多变量类对象 不能对对象使用C# 如何处理从静态函数返回的多变量类对象,c#,asp.net,class,C#,Asp.net,Class,我不知道如何处理从静态函数返回的多变量类对象 不能对对象使用foreach语句 如何从静态函数获取类对象数组 Default.aspx.cs 只需从方法返回List protected void Button1_Click(object sender, EventArgs e) { ID = TextBox1.Text; List<dataclass> returnedData = Getdata(ID); foreach (var dc in returne
foreach
语句
如何从静态函数获取类对象数组
Default.aspx.cs
只需从方法返回List
protected void Button1_Click(object sender, EventArgs e)
{
ID = TextBox1.Text;
List<dataclass> returnedData = Getdata(ID);
foreach (var dc in returnedData)
{
// Do something with dc.idd, dc.datetime, dc.col1, dc.col2, dc.col3
}
}
public static List<dataclass> Getdata(string ID)
{
List<dataclass> returndata = new List<dataclass>();
string connStr = ConfigurationManager.ConnectionStrings["jsonobject"].ConnectionString;
string cmdStr = "SELECT ([idd],[datetime],[col1],[col2],[col3]) FROM [jsondata] WHERE [idd]=@idd;";
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@idd", ID);
using (SqlDataReader myReader = cmd.ExecuteReader())
{
if (myReader.Read())
{
dataclass dc = new dataclass();
dc.idd = Convert.ToString(myReader["idd"]);
dc.datetime = Convert.ToString(myReader["datetime"]);
dc.col1 = Convert.ToString(myReader["col1"]);
dc.col2 = Convert.ToString(myReader["col2"]);
dc.col3 = Convert.ToString(myReader["col3"]);
returndata.Add(dc);
}
}
}
}
return returndata;
}
它仍然返回空值。mdf拥有正确的数据。所有表都是正确的。请检查是否正在从数据库获取数据。使用断点并进行调试。然后您会遇到另一个问题。尝试在SQLServerManagementStudio(SSMS)中执行查询,并查看返回的内容。此外,使用调试器设置断点,并验证ID是否具有预期的值。另外,
idd
列的数据类型是什么?是否有任何方法可以在不使用foreach的情况下将returnedData转换为dataclass dc?returnedData
已经是dataclass
的列表。你需要把手伸进里面。您相信在returnedData
中永远不会有多个dataclass
实例吗?如果是这样,那么可以简化该方法。
public class dataclass
{
public string idd { get; set; }
public string datetime { get; set; }
public string col1 { get; set; }
public string col2 { get; set; }
public string col3 { get; set; }
}
protected void Button1_Click(object sender, EventArgs e)
{
ID = TextBox1.Text;
List<dataclass> returnedData = Getdata(ID);
foreach (var dc in returnedData)
{
// Do something with dc.idd, dc.datetime, dc.col1, dc.col2, dc.col3
}
}
public static List<dataclass> Getdata(string ID)
{
List<dataclass> returndata = new List<dataclass>();
string connStr = ConfigurationManager.ConnectionStrings["jsonobject"].ConnectionString;
string cmdStr = "SELECT ([idd],[datetime],[col1],[col2],[col3]) FROM [jsondata] WHERE [idd]=@idd;";
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@idd", ID);
using (SqlDataReader myReader = cmd.ExecuteReader())
{
if (myReader.Read())
{
dataclass dc = new dataclass();
dc.idd = Convert.ToString(myReader["idd"]);
dc.datetime = Convert.ToString(myReader["datetime"]);
dc.col1 = Convert.ToString(myReader["col1"]);
dc.col2 = Convert.ToString(myReader["col2"]);
dc.col3 = Convert.ToString(myReader["col3"]);
returndata.Add(dc);
}
}
}
}
return returndata;
}
protected void Button1_Click(object sender, EventArgs e)
{
ID = TextBox1.Text;
dataclass dc = Getdata(ID);
if (dc != null)
{
// Do something with dc.idd, dc.datetime, dc.col1, dc.col2, dc.col3
}
}
public static dataclass Getdata(string ID)
{
string connStr = ConfigurationManager.ConnectionStrings["jsonobject"].ConnectionString;
string cmdStr = "SELECT ([idd],[datetime],[col1],[col2],[col3]) FROM [jsondata] WHERE [idd]=@idd;";
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@idd", ID);
using (SqlDataReader myReader = cmd.ExecuteReader())
{
if (myReader.Read())
{
dataclass dc = new dataclass();
dc.idd = Convert.ToString(myReader["idd"]);
dc.datetime = Convert.ToString(myReader["datetime"]);
dc.col1 = Convert.ToString(myReader["col1"]);
dc.col2 = Convert.ToString(myReader["col2"]);
dc.col3 = Convert.ToString(myReader["col3"]);
return dc;
}
}
}
}
return null;
}