C# Projedeki hata nerededir?

syzron

Femtopat
Katılım
17 Mayıs 2023
Mesajlar
2
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar merhaba.

Kaç haftadır şu proje için uğraşıyorum. Lakin aşağıda paylaştığım hatayı alıyorum. Her yapmamda aynı hatayı veriyor. Bir yeri mi atlıyorum anlamadım. Yardımcı olursanız çok sevinirim.

C#:
public partial class Form1 : Form
    {
        SqlConnection baglan = new SqlConnection(@"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename=G:\Projem\rent a car\rent a car\car.mdf;Integrated Security = True");
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            baglan.Open();
            SqlCommand car = new SqlCommand("insert into bilgi(marka,yil,km,renk,cekis,vites,takas,motorhacmi)values('" + comboBox1.SelectedItem + "','" + comboBox2.SelectedItem + "','" + textBox1.Text + "','" + comboBox3.SelectedItem + "','" + comboBox4.SelectedItem + "','" + comboBox5.SelectedItem + "','" + comboBox6.SelectedItem + "','" + comboBox7.SelectedItem + "'))", baglan);
  car.ExecuteNonQuery();
 
Son düzenleyen: Moderatör:
Veri tabanı bağlantısını kontrol edin. Sorun orayla ilgili gibi duruyor.

Ne hatası veriyor?
 
Bu kodda görünen hata, SqlCommand nesnesi tarafından yürütülen SQL sorgusunun çift tırnak kullanımından kaynaklanmaktadır. SqlCommand sınıfı, parametrelerinizi düzgün bir şekilde eklemek için parametrelerin kullanılması gereken bir özellik olan parametreli sorguları destekler.

Aşağıda, parametreli bir sorgu kullanarak hata giderilmiş bir örnek verilmiştir:


C#:
private void button1_Click(object sender, EventArgs e)
{
    using (SqlConnection baglan = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB; AttachDbFilename=G:\Projem\rent a car\rent a car\car.mdf;Integrated Security=True"))
    {
        baglan.Open();
        SqlCommand car = new SqlCommand("INSERT INTO bilgi (marka, yil, km, renk, cekis, vites, takas, motorhacmi) VALUES ([USER=362517]@Marka[/USER], @yil, @km, @renk, @cekis, @vites, @takas, @motorhacmi)", baglan);
        car.Parameters.AddWithValue("[USER=362517]@Marka[/USER]", comboBox1.SelectedItem.ToString());
        car.Parameters.AddWithValue("@yil", comboBox2.SelectedItem.ToString());
        car.Parameters.AddWithValue("@km", textBox1.Text);
        car.Parameters.AddWithValue("@renk", comboBox3.SelectedItem.ToString());
        car.Parameters.AddWithValue("@cekis", comboBox4.SelectedItem.ToString());
        car.Parameters.AddWithValue("@vites", comboBox5.SelectedItem.ToString());
        car.Parameters.AddWithValue("@takas", comboBox6.SelectedItem.ToString());
        car.Parameters.AddWithValue("@motorhacmi", comboBox7.SelectedItem.ToString());

        car.ExecuteNonQuery();
    }
}


Bu şekilde, parametreler doğru şekilde eklenir ve SQL sorgusu güvenli bir şekilde yürütülür.

İyi forumlar.
 
Son düzenleyen: Moderatör:
Bu kodda görünen hata, SqlCommand nesnesi tarafından yürütülen SQL sorgusunun çift tırnak kullanımından kaynaklanmaktadır. SqlCommand sınıfı, parametrelerinizi düzgün bir şekilde eklemek için parametrelerin kullanılması gereken bir özellik olan parametreli sorguları destekler.

Aşağıda, parametreli bir sorgu kullanarak hata giderilmiş bir örnek verilmiştir:


C#:
private void button1_Click(object sender, EventArgs e)
{
    using (SqlConnection baglan = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB; AttachDbFilename=G:\Projem\rent a car\rent a car\car.mdf;Integrated Security=True"))
    {
        baglan.Open();
        SqlCommand car = new SqlCommand("INSERT INTO bilgi (marka, yil, km, renk, cekis, vites, takas, motorhacmi) VALUES ([USER=362517]@Marka[/USER], @yil, @km, @renk, @cekis, @vites, @takas, @motorhacmi)", baglan);
        car.Parameters.AddWithValue("[USER=362517]@Marka[/USER]", comboBox1.SelectedItem.ToString());
        car.Parameters.AddWithValue("@yil", comboBox2.SelectedItem.ToString());
        car.Parameters.AddWithValue("@km", textBox1.Text);
        car.Parameters.AddWithValue("@renk", comboBox3.SelectedItem.ToString());
        car.Parameters.AddWithValue("@cekis", comboBox4.SelectedItem.ToString());
        car.Parameters.AddWithValue("@vites", comboBox5.SelectedItem.ToString());
        car.Parameters.AddWithValue("@takas", comboBox6.SelectedItem.ToString());
        car.Parameters.AddWithValue("@motorhacmi", comboBox7.SelectedItem.ToString());

        car.ExecuteNonQuery();
    }
}


Bu şekilde, parametreler doğru şekilde eklenir ve SQL sorgusu güvenli bir şekilde yürütülür.

İyi forumlar.
Teşekkür ederim.

1684351454725.png

Veri tabanı bağlantısını kontrol edin. Sorun orayla ilgili gibi duruyor.

Ne hatası veriyor?
 
Son düzenleyen: Moderatör:

Technopat Haberler

Yeni konular

Geri
Yukarı