2017-09-15 13 views
-2

私はC#という新しいプログラマーで、YouTubeでチュートリアルを実行中にコードを書きました。特徴。System.Data.dllで 'System.Data.OleDb.OleDbException'の未処理の例外が発生しました

私はプログラムを実行するときしかし、私はエラーを取得しておいてください。

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

内部例外がある:

Syntax error in INSERT INTO statement

私がチェックしたコードは、私には正しいようです。

私は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

をMS Accessを使用して"TOPLAM ÜCRET"のような場合や、エスケープする必要がTOPLAM ÜCRET,BİLET CİNSİのようなホワイトスペースを持つ列を持っている原因です。 ',,'それらのうちの1つを削除します。 – mjwills

+2

[挿入時にSQLインジェクションを防止する](https://stackoverflow.com/questions/17818473/preventing-sql-injection-on-insert) – mjwills

答えて

1

あなたはあなたがお互いに次の2つのコンマを持って、その後[TOPLAM ÜCRET]

+0

lアクセスとコードの両方から空白を削除しましたが、それでも問題はmjwillが言ったように、1つのカンマを削除しました。 –

+0

lがすべて提案に従って修正された後、「クエリ式で構文エラー(演算子が見つかりません)」2017-1-01AB2013、「ADANA」、「ANKARA」、「火曜日」という新しいエラーが発生しました。私は行方不明のオペラを見つけることができませんでした。 –

関連する問題