求助!!使用newid随机取数后,如何将对应的数据存入数组??

来源:百度知道 编辑:UC知道 时间:2024/06/12 23:12:55
从数据库里随机抽取试题。并用datalist显示。
用了 SELECT TOP 10 * FROM test ORDER BY NEWID()

并判断id是否重复

在加载数据时把相应的答案保存到数组中!

可是调试时好像不操作此过程

请高手帮忙,谢谢!!~

代码如下:

private int[] myarr;

int i;
private bool norep = true;
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
try
{
//获取ID
int myid = int.Parse(((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[0].ToString());
//判断ID是否重复,重复就返回false
for (int m = 0; m < myarr.Length - 1; m++)
{
if (myid == myarr[m])
norep = false;
}
//将ID添加到数组中
myarr[i] = myid;
i++;
Session["myarr"] = myarr;

//保存系统的答案
ArrayList mysrc

一般情况下ID本身就不能重复的
int myid = int.Parse(((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[0].ToString
这是返回来的是一个DataRowView,不是int。

private DataTable dt;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
db dd = new db();
dt = dd.dt("SELECT TOP 10 * FROM test ORDER BY NEWID()"); //先添加到DATATABLE中去
DataList1.DataSource = dt;
DataList1.DataBind();
}
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
try
{
//获取ID
int myid = int.Parse(((Label)e.Item.FindControl("Label1")).Text.ToString());
DataRow[] dr = dt.Select("myid=" + myid); //在DATATABLE中查找相对应的信息放到dr中 下面该干啥你就干啥吧。
if (dr.Length != null)
{
Response.Write(&quo