Selamlar,
windows-form-application-system-data-oledb-oledbexception-insert-into-deyiminde-sozdizimi-hatasi
sırasıyla bakalım,
windows-form-application => bu uygulamanda,
system-data-oledb-oledbexception => oledb yani access için kullandığın adaptöründe, aynı adaptörün bir hatasına yakalanmışsın.
insert-into-deyiminde-sozdizimi-hatasi=> insert into kısmında yazdığın string değerini access komuta dönüştürememiş ve buradaki hata genel hata olarak karşına düşmüş.
koda bakalım, insert into nerede?
da = new OleDbDataAdapter("SElect *from Sayfa1", con);
burada verdiğin string değeri -- SElect *from Sayfa1 ---
string olarak verdiğin her değeri 5 kere kontrol etmen lazım, buradaki hata ise, * ve from kısmının birleşik yazılması.
ayırırsan düzelecektir. Select Kısmını da SElect olarak yazmışsın, dikkatli yazarsan kod düzeltmeye daha az vakit harcarsın.
hocam merhaba, dediğiniz hataları düzelttim. program düzgün çalışıyor fakat veritabanına bir şey eklemeye çalışırken ya da güncellemeye çalışırken hata alıyorum. Size güncel kodu atayım benim görmediğim yerlerde sıkıntı var sanırım.
veri türü uyuşmazlığı hatası alıyorum ekleme yaparken. Eğer Eklemeyi yapsam (yani insert) ona göre güncellemeyi de yapıcam ama olmadı bir türlü...
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.OleDb; // Access bağlantısı kurabilmek için.
using System.Collections; //ArrayList kullanabilmek için.
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Excel;
namespace veribaglanti1
{
public partial class Form1 : Form
{
OleDbConnection con;
OleDbDataAdapter da;
OleDbCommand cmd;
OleDbDataReader dr;
DataSet ds;
public Form1()
{
InitializeComponent();
}
void griddoldur()
{
con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0 ;Data Source=Asd.accdb");
da = new OleDbDataAdapter("Select * from Sayfa1", con);
ds = new DataSet();
con.Open();
da.Fill(ds, "Sayfa1");
dataGridView1.DataSource = ds.Tables["Sayfa1"];
con.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
griddoldur();
}
private void button1_Click(object sender, EventArgs e)
{
cmd = new OleDbCommand();
con.Open();
cmd.Connection = con;
cmd =new OleDbCommand("INSERT INTO Sayfa1(S_adı, Police1, Kayit_Turu, TC1_veya_Vergi_No1, M_adı, Police1_No1, Plaka1, Belge1_Seri1, B_tarihi, Bas_tarihi, N_fiyat, B_fiyat, Telefon1_No1) values(@SirketAdi, @Police, @KayıtTuru, @TCVergiNo, @MusteriAdı, @PoliceNosu, @Plaka, @BelgeSeri, @BitisTarihi, @BaslangicTarihi, @NetFiyat, @BrutFiyat, @TelefonNosu)",con) ;
cmd.Parameters.AddWithValue("@SirketAdi", s_adı.Text);
cmd.Parameters.AddWithValue("@Police", p_adı.Text);
cmd.Parameters.AddWithValue("@KayıtTuru", k_adı);
cmd.Parameters.AddWithValue("@TCVergiNo", v_nosu.Text);
cmd.Parameters.AddWithValue("@MusteriAdı", m_adı.Text);
cmd.Parameters.AddWithValue("@PoliceNosu", p_nosu.Text);
cmd.Parameters.AddWithValue("@Plaka", p_sı.Text);
cmd.Parameters.AddWithValue("@BelgeSeri", b_serisi.Text);
cmd.Parameters.AddWithValue("@BitisTarihi", Convert.ToDateTime(dateTimePicker3.Text));
cmd.Parameters.AddWithValue("@BaslangicTarihi", Convert.ToDateTime(dateTimePicker4.Text));
cmd.Parameters.AddWithValue("@NetFiyat", n_fiyat.Text);
cmd.Parameters.AddWithValue("@BrutFiyat", brut.Text);
cmd.Parameters.AddWithValue("@TelefonNosu", komisyon.Text);
cmd.ExecuteNonQuery();
con.Close();
griddoldur();
}
private void button3_Click(object sender, EventArgs e)
{
cmd = new OleDbCommand();
con.Open();
int sira;
sira = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
cmd.Connection = con;
DateTime bitis = Convert.ToDateTime(dateTimePicker3.Text);
DateTime baslangic = Convert.ToDateTime(dateTimePicker4.Text);
cmd.CommandText = "UPDATE Sayfa1 set Sirket='" + s_adı.Text + "',Police='" + p_adı.Text + "',Kayit_Turu='" + k_adı.Text + "',TC/Vergi_No='"+ v_nosu.Text+ "',Musteri='"+ m_adı.Text+ "',Police_No='"+p_nosu.Text + "',Plaka='"+p_sı.Text+ "',Belge_Seri='"+b_serisi.Text+ "',Bitis='"+ bitis + "',Baslangic='"+ baslangic + "',Net='"+n_fiyat.Text+ "',Brut='"+brut.Text+ "',Telefon_No1='" + komisyon.Text+ "' where Sira=" + sira + "";
cmd.ExecuteNonQuery();
con.Close();
griddoldur();
}
private void button2_Click(object sender, EventArgs e)
{
int sira;
sira = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
cmd = new OleDbCommand();
con.Open();
cmd.Connection = con;
cmd.CommandText = "delete from Sayfa1 where Sira="+sira+"";
cmd.ExecuteNonQuery();
con.Close();
griddoldur();
}
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
s_adı.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
p_adı.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
k_adı.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
v_nosu.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
m_adı.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
p_nosu.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();
p_sı.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
b_serisi.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();
dateTimePicker3.Text = dataGridView1.CurrentRow.Cells[9].Value.ToString();
dateTimePicker4.Text = dataGridView1.CurrentRow.Cells[10].Value.ToString();
n_fiyat.Text = dataGridView1.CurrentRow.Cells[11].Value.ToString();
brut.Text = dataGridView1.CurrentRow.Cells[12].Value.ToString();
komisyon.Text = dataGridView1.CurrentRow.Cells[13].Value.ToString();
}
private void textBox5_TextChanged(object sender, EventArgs e)
{
con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0 ;Data Source=Asd.accdb");
da = new OleDbDataAdapter("Select * from Sayfa1 where M_adı like '"+textBox5.Text+"%'", con);
ds = new DataSet();
con.Open();
da.Fill(ds, "Sayfa1");
dataGridView1.DataSource = ds.Tables["Sayfa1"];
con.Close();
}
private void button5_Click(object sender, EventArgs e)
{
int kayitSayisi;
cmd = new OleDbCommand();
con.Open();
cmd.Connection = con;
cmd.CommandText = "SELECT COUNT(*) FROM Sayfa1";
kayitSayisi =(int) cmd.ExecuteScalar() ;
con.Close();
MessageBox.Show(kayitSayisi.ToString());
}
private void Button4_Click(object sender, EventArgs e)
{
Excel.Application excel = new Excel.Application();
excel.Visible = true;
object Missing = Type.Missing;
Workbook workbook = excel.Workbooks.Add(Missing);
Worksheet sheet1 = (Worksheet)workbook.Sheets[1];
int StartCol = 1;
int StartRow = 1;
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
Range myRange = (Range)sheet1.Cells[StartRow, StartCol + j];
myRange.Value2 = dataGridView1.Columns[j].HeaderText;
}
StartRow++;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
Range myRange = (Range)sheet1.Cells[StartRow + i, StartCol + j];
myRange.Value2 = dataGridView1[j, i].Value == null ? "" : dataGridView1[j, i].Value;
myRange.Select();
}
}
}
private void Button6_Click(object sender, EventArgs e)
{
con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0 ;Data Source=Asd.accdb");
da = new OleDbDataAdapter("SElect *from Sayfa1 where B_tarihi between tar1 and tar2", con);
ds = new DataSet();
da.SelectCommand.Parameters.AddWithValue("tar1", dateTimePicker1.Value.ToShortDateString());
da.SelectCommand.Parameters.AddWithValue("tar2", dateTimePicker2.Value.ToShortDateString());
con.Open();
da.Fill(ds, "Sayfa1");
dataGridView1.DataSource = ds.Tables["Sayfa1"];
con.Close();
}
}
}
Burada da gördüğünüz gibi veri türleri de bulunmakta. Hatayı almamın nedeni tarih/saat kısmından olduğunu düşünüyordum ama sanırım değil.