none
Id almıyor nerede hata yapıyorum? RRS feed

  • Soru

  • Server Error in '/' Application.

    Incorrect syntax near '='. (Select * from Kontratlar Where KontratId=)

    hatasını alıyorum

    Problemimi biliyorum. Id almıyor ama bir türlü sorunu çözemedim

    Kontratdetay.aspx?KontratId=4 şeklinde otomatik sorunsuz Id yide problemsiz gönderiyorum sayfaya

     DataRow dr = system.GetDataRow("Select * from Kontratlar Where KontratId=" + KontratId);

     DataRow dr = system.GetDataRow("Select * from Kontratlar Where KontratId=4"); şeklinde kendim save lersem açıyor ama otomatik idi alamıyorum. Id yide problemsiz gönderiyorum sayfaya

    Kodlarım aşağıdadır.

    using System; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; public partial class Admin_Kontratdetay : System.Web.UI.Page { SiteAyar system = new SiteAyar(); public string KontratId = ""; protected void Page_Load(object sender, EventArgs e) { if (!isPostBack) { DataRow dr = system.GetDataRow("Select * from Kontratlar Where KontratId=" + KontratId); if (dr != null) { trlDairesi.Text = dr["Dairesi"].ToString(); trlMahallesi.Text = dr["Mahallesi"].ToString(); trlSokagi.Text = dr["Sokagi"].ToString(); trlCinsi.Text = dr["Cinsi"].ToString(); ltrlKirayaVerenAdiSoyadi.Text = dr["KirayaVerenAdiSoyadi"].ToString(); ltrlKirayaVerenTc.Text = dr["KirayaVerenTc"].ToString(); ltrlKirayaVerenIkamet.Text = dr["KirayaVerenIkamet"].ToString(); ltrlKiraciAdiSoyadi.Text = dr["KiraciAdiSoyadi"].ToString(); ltrlKiraciIkametgah.Text = dr["KiraciIkametgah"].ToString(); ltrlKiraciİsAdres.Text = dr["KiraciİsAdres"].ToString(); ltrlBirAylikKiraRakam.Text = dr["BirAylikKiraRakam"].ToString(); ltrlBirAylikKiraYazi.Text = dr["BirAylikKiraYazi"].ToString(); ltrlBirsenelikKiraRakam.Text = dr["BirsenelikKiraRakam"].ToString(); ltrlBirsenelikKiraYazi.Text = dr["BirsenelikKiraYazi"].ToString(); ltrlOdemeSekli.Text = dr["OdemeSekli"].ToString(); ltrlKiraMuddeti.Text = dr["KiraMuddeti"].ToString(); ltrlaslangictarihi.Text = dr["Baslangictarihi"].ToString(); ltrlSimdikiDurumu.Text = dr["SimdikiDurumu"].ToString(); ltrlNeİcinKullanacagi.Text = dr["NeİcinKullanacagi"].ToString(); ltrlyilinkirasi.Text = dr["tarihindenitibaren"].ToString(); ltrloraninda.Text = dr["oraninda"].ToString(); ltrlyilkirasiayliknet.Text = dr["yilkirasiayliknet"].ToString(); ltrlodenecektir.Text = dr["odenecektir"].ToString(); ltrlnakit.Text = dr["nakit"].ToString(); ltrlkarsiligi.Text = dr["karsiligi"].ToString(); ltrlgunu.Text = dr["gunu"].ToString(); ltrlbankasi.Text = dr["bankasi"].ToString(); ltrlsubesi.Text = dr["subesi"].ToString(); ltrlnoluhesabina.Text = dr["noluhesabina"].ToString(); ltrladinayatirilacaktir.Text = dr["adinayatirilacaktir"].ToString(); ltrlmahkemeleri.Text = dr["mahkemeleri"].ToString(); ltrlKiraciAdiSoyadi0.Text = dr["KiraciAdiSoyadi"].ToString(); ltrlKirayaVerenAdiSoyadi0.Text = dr["KirayaVerenAdiSoyadi"].ToString(); } else Response.Redirect("Kontratlar.aspx"); } } public bool isPostBack { get; set; } }

    nerede hata yapıyorum ne yapmam gerekiyor.

    2 Mart 2014 Pazar 18:24

Yanıtlar

  • public string KontratId = "";

    Bu satırı silin.

    DataRow dr = system.GetDataRow("Select * from Kontratlar Where KontratId=" + Request["KontratId"]);

    bu satırı da bu şekilde düzenleyin.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    2 Mart 2014 Pazar 20:54
    Moderatör
  • GetDataRow methodunuzu görmek lazım. O methoda Command parametreli bir overload yazın. Commandı dışarda hazırlayıp methoda verin. Commanda parametre eklemek için ise (SqlCommand için);

    SqlCommand cmd = new SqlCommand("select * from Tablo1 Where alan1 = @parametre1 and alan2 = @parametre2");
    cmd.Parameters.AddWithValue("@parametre1", textBox1.Text);
    cmd.Parameters.AddWithValue("@parametre2", DateTime.Today);
    var kayıtlar = sistem.GetDataRow(cmd);

    gibi.

     

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    4 Mart 2014 Salı 07:06
    Moderatör

Tüm Yanıtlar

  • Incorrect syntax near '='. (Select * from Kontratlar Where KontratId=)

    hatasını alıyorum

    Problemimi biliyorum. Id almıyor ama bir türlü sorunu çözemedim

    Kontratdetay.aspx?KontratId=4 şeklinde otomatik sorunsuz Id yide problemsiz gönderiyorum sayfaya

    DataRow dr = system.GetDataRow("Select * from Kontratlar Where KontratId=" + KontratId);

    DataRow dr = system.GetDataRow("Select * from Kontratlar Where KontratId=4"); şeklinde kendim save lersem açıyor ama otomatik idi alamıyorum. Id yide problemsiz gönderiyorum sayfaya

    Kodlarım aşağıdadır.
    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    
    public partial class Admin_Kontratdetay : System.Web.UI.Page
    {
        SiteAyar system = new SiteAyar();
        public string KontratId = "";
    
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!isPostBack)
            {
    
    
    
                DataRow dr = system.GetDataRow("Select * from Kontratlar Where KontratId=" + KontratId);
                if (dr != null)
                {
                    trlDairesi.Text = dr["Dairesi"].ToString();
                    trlMahallesi.Text = dr["Mahallesi"].ToString();
                    trlSokagi.Text = dr["Sokagi"].ToString();
                    trlCinsi.Text = dr["Cinsi"].ToString();
                    ltrlKirayaVerenAdiSoyadi.Text = dr["KirayaVerenAdiSoyadi"].ToString();
                    ltrlKirayaVerenTc.Text = dr["KirayaVerenTc"].ToString();
                    ltrlKirayaVerenIkamet.Text = dr["KirayaVerenIkamet"].ToString();
                    ltrlKiraciAdiSoyadi.Text = dr["KiraciAdiSoyadi"].ToString();
                    ltrlKiraciIkametgah.Text = dr["KiraciIkametgah"].ToString();
                    ltrlKiraciİsAdres.Text = dr["KiraciİsAdres"].ToString();
                    ltrlBirAylikKiraRakam.Text = dr["BirAylikKiraRakam"].ToString();
                    ltrlBirAylikKiraYazi.Text = dr["BirAylikKiraYazi"].ToString();
                    ltrlBirsenelikKiraRakam.Text = dr["BirsenelikKiraRakam"].ToString();
                    ltrlBirsenelikKiraYazi.Text = dr["BirsenelikKiraYazi"].ToString();
                    ltrlOdemeSekli.Text = dr["OdemeSekli"].ToString();
                    ltrlKiraMuddeti.Text = dr["KiraMuddeti"].ToString();
                    ltrlaslangictarihi.Text = dr["Baslangictarihi"].ToString();
                    ltrlSimdikiDurumu.Text = dr["SimdikiDurumu"].ToString();
                    ltrlNeİcinKullanacagi.Text = dr["NeİcinKullanacagi"].ToString();
                    ltrlyilinkirasi.Text = dr["tarihindenitibaren"].ToString();
                    ltrloraninda.Text = dr["oraninda"].ToString();
                    ltrlyilkirasiayliknet.Text = dr["yilkirasiayliknet"].ToString();
                    ltrlodenecektir.Text = dr["odenecektir"].ToString();
                    ltrlnakit.Text = dr["nakit"].ToString();
                    ltrlkarsiligi.Text = dr["karsiligi"].ToString();
                    ltrlgunu.Text = dr["gunu"].ToString();
                    ltrlbankasi.Text = dr["bankasi"].ToString();
                    ltrlsubesi.Text = dr["subesi"].ToString();
                    ltrlnoluhesabina.Text = dr["noluhesabina"].ToString();
                    ltrladinayatirilacaktir.Text = dr["adinayatirilacaktir"].ToString();
                    ltrlmahkemeleri.Text = dr["mahkemeleri"].ToString();
                    ltrlKiraciAdiSoyadi0.Text = dr["KiraciAdiSoyadi"].ToString();
                    ltrlKirayaVerenAdiSoyadi0.Text = dr["KirayaVerenAdiSoyadi"].ToString();
    
    
    
                   
    
    
                }
                else
                    Response.Redirect("Kontratlar.aspx");
            }
        }
    
       
    
        public bool isPostBack { get; set; }
    }

    2 Mart 2014 Pazar 18:52
  • public string KontratId = "";

    Bu satırı silin.

    DataRow dr = system.GetDataRow("Select * from Kontratlar Where KontratId=" + Request["KontratId"]);

    bu satırı da bu şekilde düzenleyin.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    2 Mart 2014 Pazar 20:54
    Moderatör
  • teşekkür ederim

    işimi gördü

    bu şekilde açık oluşturmaz değilmi? hacklenmez

    3 Mart 2014 Pazartesi 18:25
  • hacklenir tabii ki. Asla oyle SQL yazma. Parametre kullan.
    3 Mart 2014 Pazartesi 18:47
  • Parametre olarak bunu nasıl yazabilirim?
    3 Mart 2014 Pazartesi 19:22
  • GetDataRow methodunuzu görmek lazım. O methoda Command parametreli bir overload yazın. Commandı dışarda hazırlayıp methoda verin. Commanda parametre eklemek için ise (SqlCommand için);

    SqlCommand cmd = new SqlCommand("select * from Tablo1 Where alan1 = @parametre1 and alan2 = @parametre2");
    cmd.Parameters.AddWithValue("@parametre1", textBox1.Text);
    cmd.Parameters.AddWithValue("@parametre2", DateTime.Today);
    var kayıtlar = sistem.GetDataRow(cmd);

    gibi.

     

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    4 Mart 2014 Salı 07:06
    Moderatör