0

gridview をバインドするときに問題に直面しています。実際には、Asp Web ページに gridview があります。そして、それを複数回バインドしたい。このような..

for(int i=0;i<=10;i++)
   {
   SqlCommand cmd=new SqlCommand("select *from Employee_table where Emp_Persent='"+i+"'",con); //
   SqlDataAdapter da=new SqlDataAdapter(cmd);
   DataSet ds=new DataSet();
   da.Fill(ds);
   GridView1.DataSource=ds;
   GridView1.DataBind();
   }

そのため、グリッドビューがバインドされている場合は、ループごとに同じページで垂直方向に繰り返す必要があります。そして、同じページにすべてのGridviewデータを表示します..だから、この問題で私を助けてください..

ありがとう

4

1 に答える 1

0

ループを失います。GridView は、デフォルトで、DB から返されるすべてのレコードを「繰り返し」ます。

ViewState が制御不能になるなど、パフォーマンス上の理由から、個別の GridView でページを埋める必要はありません。

SQL インジェクション攻撃の可能性を回避するために、パラメーター化されたクエリを使用することもお勧めします。

Microsoft .Net パラメータ化クエリを使用して SQL インジェクションを修正する方法

// Data layer method
public static DataSet GetProductsByOccasion(int empPercent)
{
    SqlParameter[] parameters = new SqlParameter[1];

    parameters[0] = new SqlParameter("@Emp_Persent", 
        System.Data.SqlDbType.Int, 8, "empPercent");
    parameters[0].Value = empPercent;

    using (SqlConnection dbConnection = new SqlConnection(connectionString))
    {
        try
        {
            return (SqlHelper.ExecuteDataset(dbConnection, 
                CommandType.StoredProcedure,
                    "GetEmployeesByPercent", parameters));
        }
        catch
        {
            throw;
        }
    }
}
于 2013-10-27T18:17:23.357 に答える