Çözüldü C# SQL'de "Syntax" hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
5 Nisan 2020
Mesajlar
2.816
Çözümler
11
Daha fazla  
Cinsiyet
Erkek
Meslek
Sivil Polis
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace UrunTanılamaSistemi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }  SqlConnection baglanti = new SqlConnection("Data Source=DESKTOP-0P271D8\\SQLEXPRESS;Initial Catalog=UrunInfo;Integrated Security=True");                
        private void urunlistesi()
        {
            baglanti.Open();
            SqlCommand cmd = new SqlCommand("select * from Urun", baglanti);
            SqlDataReader RD = cmd.ExecuteReader();

            while (RD.Read())
            {
                ListViewItem listele = new ListViewItem();
                listele.Text = (RD["urunadi"].ToString());
                listele.SubItems.Add(RD["urunbarkodu"].ToString());
                listele.SubItems.Add(RD["urunfiyati"].ToString());
                listView1.Items.Add(listele);
            }baglanti.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            urunlistesi();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            baglanti.Open();
            SqlCommand komut = new SqlCommand("insert into ('" + textBox1.Text.ToString() + "','" + textBox2.Text.ToString() + "','" + textBox3.Text.ToString() + "')",baglanti);
            komut.ExecuteNonQuery();
            MessageBox.Show("Kaydedildi", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Information);
            baglanti.Close();
            urunlistesi();
        }
    }
}
Kodlarım yukarıdaki gibi, ancak ne hatam var anlamadım "komut.ExecuteNonQuery();" bölümünde şu hatayı veriyor: Incorrect syntax near '(' , nasıl düzeltebilirim?
 
Son düzenleyen: Moderatör:
Çözüm
C#:
             SqlCommand cmd = new SqlCommand("INSERT INTO Urun (urunadi, urunbarkodu, urunfiyati) VALUES (@p1,@p2,@p3)", baglanti);
            cmd.Parameters.AddWithValue("@p1", UrunAd);
            cmd.Parameters.AddWithValue("@p2",UrunBarkod);
            cmd.Parameters.AddWithValue("@p3", UrunFiyat);
            cmd.ExecuteNonQuery();

Komutu ile sorunu çözdük.
Sql sorgunuzada hata mevcut tablo ismini belirtmeyi unutmuşsunuz.
C#:
//tablo ismi 'Urun' olarak varsayarsak

SqlCommand komut = new SqlCommand("insert into Urun ('" + textBox1.Text.ToString() + "','" + textBox2.Text.ToString() + "','" + textBox3.Text.ToString() + "')",baglanti);
 
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace UrunTanılamaSistemi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }  SqlConnection baglanti = new SqlConnection("Data Source=DESKTOP-0P271D8\\SQLEXPRESS;Initial Catalog=UrunInfo;Integrated Security=True");              
        private void urunlistesi()
        {
            baglanti.Open();
            SqlCommand cmd = new SqlCommand("select * from Urun", baglanti);
            SqlDataReader RD = cmd.ExecuteReader();

            while (RD.Read())
            {
                ListViewItem listele = new ListViewItem();
                listele.Text = (RD["urunadi"].ToString());
                listele.SubItems.Add(RD["urunbarkodu"].ToString());
                listele.SubItems.Add(RD["urunfiyati"].ToString());
                listView1.Items.Add(listele);
            }baglanti.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            urunlistesi();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            baglanti.Open();
            SqlCommand komut = new SqlCommand("insert into ('" + textBox1.Text.ToString() + "','" + textBox2.Text.ToString() + "','" + textBox3.Text.ToString() + "')",baglanti);
            komut.ExecuteNonQuery();
            MessageBox.Show("Kaydedildi", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Information);
            baglanti.Close();
            urunlistesi();
        }
    }
}
Kodlarım yukarıdaki gibi, ancak ne hatam var anlamadım "komut.ExecuteNonQuery();" bölümünde şu hatayı veriyor: Incorrect syntax near '(' , nasıl düzeltebilirim?
Sanırım new SqlCommand("insert into kısmında hata var. Orada tablonun adını yazmalısınız, örneğin: new SqlCommand("insert into Urun. Tablonun adını yazmamışsınız, ondan bu hata oluyor.
 
Sql sorgunuzada hata mevcut tablo ismini belirtmeyi unutmuşsunuz.
C#:
//tablo ismi 'Urun' olarak varsayarsak

SqlCommand komut = new SqlCommand("insert into Urun ('" + textBox1.Text.ToString() + "','" + textBox2.Text.ToString() + "','" + textBox3.Text.ToString() + "')",baglanti);
İşe yaramadı.
 
Insert into dizilimi hatalıdır.
Olması gereken;

SQL:
"INSERT INTO table_name (sütun_adi1, sütun_adi2, sütun_adi3)
VALUES ('"+deger1+"', '"+deger2+"','"+deger3+"')";
 
Insert into dizilimi hatalıdır.
Olması gereken;

SQL:
"INSERT INTO table_name (sütun_adi1, sütun_adi2, sütun_adi3)
VALUES ('"+deger1+"', '"+deger2+"','"+deger3+"')";
Sorun hala devam ediyor.
Eğer Urunler tablonda 3 alan varsa bu kodun olması gerekiyor. Ssql tablonu paylaşırsan daha fazla yardımcı olabiliriz.
1667054869652.png
 
C#:
SqlCommand komut = new SqlCommand(
"INSERT INTO Urun (urunadi, urunbarkodu, urunfiyati)
VALUES ('" + textBox1.Text.ToString() + "','" + textBox2.Text.ToString() + "','" + textBox3.Text.ToString() + "'"),baglanti);
Şu komutu dener misin?
Olmadı 5 farklı hata verdi.
 

Technopat Haberler

Yeni konular

Geri
Yukarı