2017-11-21 15 views
3

テキストとイメージをテーブルに挿入しようとしています。ここに私のコードです:アクセステーブルにイメージを挿入するときに "文に挿入する構文エラー"

conn.Open(); 
cmd = conn.CreateCommand(); 
cmd.CommandType = CommandType.Text; 

cmd.CommandText = "INSERT INTO users (user_name,father_name,phone,email,cnic,address,user_type,workshop,department,designation,emergency_no,image) values(@user_name,@father_name,@phone,@email,@cnic,@address,@user_type,@workshop,@department,@designation,@emergency_no,@image);"; 
//using MemoryStream: 
ms = new MemoryStream(); 
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 
byte[] photo_aray = ms.GetBuffer(); 

cmd.Parameters.AddWithValue("@user_name", txtUserName.Text); 
cmd.Parameters.AddWithValue("@father_name", txtFatherName.Text); 
cmd.Parameters.AddWithValue("@phone", txtPhone.Text); 
cmd.Parameters.AddWithValue("@email", txtEmail.Text); 
cmd.Parameters.AddWithValue("@cnic", txtCNIC.Text); 
cmd.Parameters.AddWithValue("@address", txtAddress.Text); 
cmd.Parameters.AddWithValue("@user_type", txtType.Text); 
cmd.Parameters.AddWithValue("@workshop", txtWorkshop.Text); 
cmd.Parameters.AddWithValue("@department", txtDepartment.Text); 
cmd.Parameters.AddWithValue("@designation", txtDesignation.Text); 
cmd.Parameters.AddWithValue("@emergency_no", txtEmergency.Text); 
cmd.Parameters.AddWithValue("@image", photo_aray); 
cmd.ExecuteNonQuery(); 

問題は、私は画像フィールドを使用するときの画像フィールドがある場合、私はエラー

INSERT INTOステートメントで

構文エラー

を得るということですデータなしで挿入すると、魅力的に機能します。私はまた、エラーのスクリーンショットを作った。

enter image description here

+0

あなたの構文を何実際にあなたにエラーがありますか? – BugFinder

+0

データベースに挿入しないでください –

+0

実際のエラーを質問に貼り付けてください。 –

答えて

1

のMicrosoft Access OLEDBプロバイダを使用すると、角括弧でその列名を囲む必要があるので、アクセスSQLの予約語であることをIMAGEを考慮:

INSERT INTO ... emergency_no, [image]) VALUES ... 
+0

ありがとう!それは本当に助けて:) –

関連する問題