Server.MapPath & App_Code#

Asp.net projelerinizde veritabanı erişimlerini App_Code dir'i icinde tanımladığınız sınıflar içinden yapmak isteyebilirsiniz.Eğer projenizde access veritabanı kullanıyorsanız Server.MapPath() metodunu kullanmakta sorun yaşarsınız çünkü App_Code içindeki bir sınıfta Server sınıfı tanımlı değildir.

App_Code dir i içindeki bir sınıfta Server.MapPath() metodunu aşağıdaki şekilde kullanabilirsiniz.

HttpServerUtility hs=HttpContext.Current.Server;
string APPDATAYOLU = hs.MapPath("~/App_Data");

Kolay gelsin

Sunday, January 06, 2008 12:53:44 AM (GTB Standard Time, UTC+02:00) #    Comments [0]  | 

 

Gridview - Paging - DataSet#
Asp.net projelerinde genelde verinin db den okunması için sqldatasource 
nesneleri kullanırız.Fakat kullanıcının arama yapması gibi durumlarda 
dinamik sql yaratmamız gerekebilir.Bu tür durumlarda Gridview nesnesinin
datasource özelliğine codebehind da yarattığımız bir DataSet nesnesini
atarız.





Örnek bir search

    protected void btnSearch_Click(object sender, EventArgs e)
    {
        SqlConnection conSQL = new SqlConnection(
            ConfigurationManager.
               ConnectionStrings["XConnectionString"].
                  ConnectionString);
        SqlCommand cmdSQL = new SqlCommand();
       
        string strSQL = "select x,y,z from a_tbl
 where ";

        if (this.txtX.Text.Trim().Length > 0)
        {
            strSQL += "x like @X and ";
            cmdSQL.Parameters.Add(new
               SqlParameter("@X", this.txtX.Text.Trim()));
        }
        if (this.txtY.Text.Trim().Length > 0)
        {
            strSQL += "y like @Y and ";
            cmdSQL.Parameters.Add(
               new SqlParameter("@Y", this.txtY.Text.Trim()));
        }

        if (strSQL.Substring(strSQL.Length - 5, 5) == " and ")
            strSQL = strSQL.Substring(0, strSQL.Length - 5);
        if (strSQL.Substring(strSQL.Length - 7, 7) == " where ")
            strSQL = strSQL.Substring(0, strSQL.Length - 7);

        try
        {
            conSQL.Open();
        }
        catch (Exception excp)
        {
            this.lblSearchInfo.Text = "Hata oluştu -> " +
               excp.Message;
            return;
        }
        cmdSQL.Connection = conSQL;
        cmdSQL.CommandText = strSQL;
        SqlDataReader drdSQL = null;
        DataSet dsSQL = new DataSet();
        try
        {
            drdSQL = cmdSQL.ExecuteReader();
        }
        catch (Exception excp)
        {
            conSQL.Close();
            this.lblSearchInfo.Text = excp.Message;
            return;
        }
        dsSQL.Load(drdSQL, LoadOption.OverwriteChanges,
            new string[] { "a_tbl" });
        drdSQL.Close();
        conSQL.Close();
        this.gvwCus.DataSource = dsSQL;
        this.gvwCus.DataBind();
    }

Son iki satırda gördüğünüz gibi gvwCus Gridview'umuza dsSQL dataset'ini
dinamik olarak bağlıyoruz.Fakat eğer gridview un paging özelliğini true
olarak set edersek bu birsonraki sayfaya gitmeye kalktığımızda hata
almamıza neden olacaktır.

Bu sorun can sıkıcı olsa da çözümü basittir.İlk olarak DataSet nesnesini
ister class'ın en üstüne private static olarak tanımlayın, isterseniz
ViewState veya Session bazında saklayın, dataset'ın sınıfın her
üyesinden ulaşılabilecek hale getirin.

Bu durumda ben viewstate'i kullanıyorum.
Search'ün son iki satırını aşağıdaki gibi değiştiriyorum.

         ViewState["a_tbl"] = dsSQL;         
        this.gvwCus.DataSource = dsSQL;
       
this
.gvwCus.DataBind();
    }

Ardından Gridview'un PageIndexChanging eventine aşağıdaki kodu yazın.

    protected void gvwCus_PageIndexChanging(object sender,
      GridViewPageEventArgs e)
    {
        gvwCus.PageIndex = e.NewPageIndex;
        this.gvwCus.DataSource = (DataSet)ViewState["a_tbl"];
        gvwCus.DataBind();
    }

Sorununuz bu şekilde çözülmüş olur.

Saturday, January 05, 2008 9:44:16 PM (GTB Standard Time, UTC+02:00) #    Comments [0]  | 

 

Master Cevat ALP#

Yorumsuz...

Friday, January 04, 2008 1:20:44 PM (GTB Standard Time, UTC+02:00) #    Comments [0]  | 

 

Bu son olsun.#

Bu akşam Diyarbakır daki patlamayı işten eve gelirken arabada haber aldım.Eve gidip detayları öğrendiğimde durumun kötü olduğunu öğrendim.

Ardından bir haber kanalında aşağıdaki vahim sorunun sorulduğuna şahit oldum.
-Acaba Türkiye turistler için güvenli bir yer mi?

Acaba hangi zihniyet turistleri kendi vatandaşlarından daha önce tutar?

Patlamada ölen vatandaşlarımıza allahtan rahmet sevenlerine,yakınlarına sabır diliyorum.

Thursday, January 03, 2008 7:27:26 PM (GTB Standard Time, UTC+02:00) #    Comments [0]  | 

 

All content © 2012, Levent YILDIZ
On this page
This site
Calendar
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
Archives
Sitemap
Blogroll OPML
Disclaimer

Powered by: newtelligence dasBlog 2.3.9074.18820

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Send mail to the author(s) E-mail

Theme design by Jelle Druyts


Pick a theme: