0

当那里有用户ID时,我有数据库;我有一个 for 循环,我希望循环一直运行到最后一个 ID 示例:for (i=0; i > something; i++) 我的问题是这应该是什么?我也有代码的开头

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;

public partial class _Default : System.Web.UI.Page
{
    public string strLname;
    public string strEmail;
    public string strFname;
    protected void Page_Load(object sender, EventArgs e)
    {

        string dbPath = Server.MapPath(@"App_Data") + "/my_site.mdb";
        string connectionString = @"Data Source='" + dbPath + "';Provider='Microsoft.Jet.OLEDB.4.0';";
        OleDbConnection con = new OleDbConnection(connectionString);
        con.Open();
        string QueryString = "SELECT * FROM tbl_users";
        OleDbCommand cmd = new OleDbCommand(QueryString, con);
        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds, "tbl");
        con.Close();
        for (i=0; i < *something*; i++)

        }
    }
4

3 回答 3

4

您可以使用rows count of tableat index 0 或您拥有的任何索引。

for (i=0; i < ds.Tables[0].Rows.Count; i++)
{

}
于 2012-11-19T15:20:02.240 回答
3

foreach循环会更方便,不是吗?

foreach(DataRow row in ds.Tables["tbl"].Rows) {
    // ...
}

ID 将row["ID"]在每一行中。(或者你怎么称呼它。)

以防万一您打算在i循环for中使用 ID 作为 ID,如果您曾经删除行,请务必小心。

于 2012-11-19T15:19:35.283 回答
0

我认为如果您使用 foreach 会更好。就像是,,,

foreach(DataRow dRow in ds.Table["Your Table Name"].Rows)
{
    //    dRow["id"] is your id column and you can access the value in that 
    //some sort of your operation code comparison or anything you want
}

我还注意到你的代码中有一些你没有使用故障安全的东西。所以请记住,当您编写代码时,请不要忘记在处理数据库连接和相关工作时使用 try catch。

于 2012-11-19T21:36:55.737 回答