我是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();
}
}
}
有什么问题?我该如何解决?
答案 0 :(得分:1)
这是因为您的列具有像TOPLAM ÜCRET,BİLET CİNSİ
这样的空格,需要像"TOPLAM ÜCRET"
那样进行转义,或者使用MS Access然后[TOPLAM ÜCRET]