类型' System.Data.OleDb.OleDbException'的未处理异常发生在System.Data.dll中

时间:2017-09-15 13:15:13

标签: c#

我是C#程序员的新手,我在关注youtube的教程时写了一段代码,我希望通过添加功能来改进它。

然而,当我运行程序时,我一直收到错误:

  

未处理的类型' System.Data.OleDb.OleDbException'   发生在System.Data.dll

内部例外是:

  

INSERT INTO语句中的语法错误

我检查过,代码对我来说是正确的。

我仔细检查了Access文件中的所有列,并且所有列都拼写正确。

这是我的代码:

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;
namespace Biletotomasyon
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        OleDbConnection baglanti=new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Users/msi-nb/Documents/Visual Studio 2013/Projects/Biletotomasyon/YOLCU.accdb");


        private void radioButton3_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void label7_Click(object sender, EventArgs e)
        {

        }

        private void comboBox7_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button56_Click(object sender, EventArgs e)
        {
            baglanti.Open();
            OleDbCommand komut=new OleDbCommand ("INSERT INTO YOLCU (SEFER SAYISI,GÜZERGAH,VARİŞ YERİ,TARİH,SAAT,PERON,AD SOYAD,KOLTUKNO,TAM BİLET ÜCRETİ,TC,IB SAYISI,TOPLAM ÜCRET,CİNSİYET,BİLET CİNSİ) values ('"+comboBox7.Text.ToString()+"','"+comboBox6.Text.ToString()+"','"+comboBox1.Text.ToString()+"','"+ dateTimePicker1.Text.ToString()+"','"+comboBox5.Text.ToString()+"','"+comboBox2.Text.ToString()+"','"+textBox1.Text.ToString()+"','"+comboBox4.Text.ToString()+"','"+comboBox3.Text.ToString()+"','"+textBox2.Text.ToString()+"','"+textBox3.Text.ToString()+"',,'"+textBox4.Text.ToString()+"','"+radioButton1.Text.ToString()+"','"+radioButton3.Text.ToString()+"')",baglanti);
            komut.ExecuteNonQuery();
            baglanti.Close();


        }
    }
}

有什么问题?我该如何解决?

1 个答案:

答案 0 :(得分:1)

这是因为您的列具有像TOPLAM ÜCRET,BİLET CİNSİ这样的空格,需要像"TOPLAM ÜCRET"那样进行转义,或者使用MS Access然后[TOPLAM ÜCRET]