0

私は Visual Studio を使用しており、Default.aspx Web フォームに次の page_load 関数があります。

if (IsPostBack == false)
        {
            //Display all records on the form load
            DisplayCars("");

ユーザー名を取得できるユーザーがいます(特定のデータレコードの「作成者」として追加するために使用しました)。このユーザー名を使用して、ユーザー名 = ACar.Creator の車のみを表示したい

どうすればこれを行うことができますか?これを行うためにすべてをセットアップしました。

次のようなものが必要です。

if (User.Identity.Name == ACar.Creator) {
show this record
}

しかし、aspx/sql内でこれの構文がわかりません

ありがとう

4

1 に答える 1

0

ユーザー名を渡して、実際にデータベースでこれを行う必要があります

public DataTable GetUserRecord(string userName)
{
    DataTable dt = new DataTable();
    SqlConnection conn = new SqlConnection("connection string to database");

    using(conn)
    {
    string sql = "SELECT car.CarName, car.Model FROM car WHERE car.Creator = @UserName";
    SqlCommand comm = new SqlCommand(sql, conn);
    comm.Parameters.AddWithValue("@UserName", userName);

    dt.Load(comm.ExecuteReader());
    }
    return dt;
}

あなたのページから

protected void Page_Load(object sender, Eventargs e)
{
   DataTable dt = GetUserRecord(User.Identity.Name);
   if(dt.Rows.Count > 0)
   {
      string firstRowCarName = dt.Rows[0]["CarName"];
      //etc
   }
}
于 2012-08-14T03:00:32.707 に答える