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"]各行にあります。(またはあなたがそれを呼んだものは何でも。)

iID としてループ内で使用することを計画している場合に備えてfor、行を削除する場合は注意してください。

于 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 に答える