请问如何把数据库中的数据存到数组中,试了几种方法总是出错,希望能看一下demo片段
1.你把从数据库中获取的list做个for循环,在循环的过程中,每次循环将list中一条数据插入到数组中
2.可以使用追加的方式进行:
List arr =new ArrayList();
for(int i=0;i<list.size;i++){
arr.add(list.get(i));
}
办法有很多种的,看个人喜好了 :)
List有一个toArray的方法,可以试试
另外,你说不成功,都会有什么样的错误呢?
我给一个.net的代码吧!!
分两种情况回答吧!!
一如果你查询的记录中字段只有一个的话如Demo一:
如果你有多个字段的话处理方式见Demo二:
Demo一:
SqlConnection Con = new SqlConnection("数据库连接字符串");
SqlCommand Cmd = new SqlCommand("select Name from user");
Con.Open();
SqlDataAdapter sda = new SqlDataAdapter();
DataTable dbl = new DataTable();
sda.Fill(dbl);
ArrayList arl = new ArrayList();
for (Int32 i = 0; i < dbl.Rows.Count; i++)
{
arl.Add(dbl.Rows[i]["Name"].ToString());
}
//这样就可以把该查询中所有的的数据转储到arl数组中,当然你也可以在此使用定长的数组,数组的length有dbl.Rows.Count决定。
Con.Close();
Demo 二:
SqlConnection Con = new SqlConnection("数据库连接字符串");
SqlCommand Cmd = new SqlCommand("select Name,Password,Mail from user");
Con.Open();
SqlDataAdapter sda = new SqlDataAdapter();
DataTable dbl = new DataTable();
sda.Fill(dbl);
ArrayList strR = new ArrayList();
for (Int32 i = 0; i < dbl.Rows.Count; i++)
{
String[] str = new String[dbl.Columns.Count];
for (Int32 j = 0; j < dbl.Columns.Count; j++)
{
str[j] = dbl.Rows[i][j].ToString();
}
strR.Add(str);
}
//这样就可以把该查询中所有的的数据转储到arl数组中,当然你也可以在此使用定长的数组,数组的length有dbl.Rows.Count决定。
Con.Close();
这样就可以解决你的问题了!!