Incorrect syntax near the keyword 'From' hatası

caglacaglar (5) 7 yıl önce sordu

Merhabalar.

 Benim projem sorunsuz çalışıyorken 2 gün sonra açtığımda executeReader sorun çıkartmaya başladı. Hata ise bu;  

 

Incorrect syntax near the keyword 'From'

 

Haberler.aspx.cs->

SqlBaglantısı baglan = new SqlBaglantısı();
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand cmdmg = new SqlCommand("Select * From Haberler", baglan.baglan());
            SqlDataReader drmg = cmdmg.ExecuteReader();

            rp_Haberler.DataSource = drmg;
            rp_Haberler.DataBind();

Hata alınan satır altı çizili kısım dediğim gibi düzgün çalışan bir kısımdı. Sadece burası değil tüm sayfalarda aynı sorunu yaşadım.

Acaba sebebi nedir yardımcı olursanız sevinirim.

alattin 7 yıl önce

Sorun devam ediyor mu?

Toplam 1 cevap


alattin (17127) 7 yıl önce cevapladı

Kodunu şu şekilde düzenlesen çok daha iyi olur:

protected void Page_Load(object sender, EventArgs e)
    {
        using (var conn = new SqlConnection("server=.\\SQLEXPRESS;Database=haberler;Integrated Security=SSPI"))
        using (var cmd = conn.CreateCommand())
        {
            conn.Open();
            cmd.CommandText = "SELECT * From Haberler";

            using (var reader = cmd.ExecuteReader())
            {
                Repeater1.DataSource = reader;
                Repeater1.DataBind();
            }
        }
    }

Senin verdiğin kodda yaptığın bağlantı yöntemi sorunlara gebe. Normalde aldığın Incorrect syntax near the keyword 'From' hatası SQL sorgunda sorun olduğunda alırsın. Fakat senin SQL sorgun düzgün.

Ama bunun yanında bağlantıyı açman ve daha sonra kapatmıyor olman, yönetilemez kaynaklara karşı bir şey yapmıyor olman sorun çıkartıyordur.

using ifadesi bu anlamda önemli bir ifade.Connection gibi nesnelerin işi bittiğinde kaynakları senin için boşaltır.  Kendi kodunu yukarıdaki gibi düzenleyebilirsin.