C# &引用;insert into语句中的语法错误;将图像插入Access表时

C# &引用;insert into语句中的语法错误;将图像插入Access表时,c#,sql,winforms,ms-access,C#,Sql,Winforms,Ms Access,我正在尝试将文本和图像插入表中。这是我的密码: 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) v

我正在尝试将文本和图像插入表中。这是我的密码:

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语句中的语法错误

如果插入的图像字段没有数据,那么它就像一个符咒。我还做了一个错误截图


Microsoft Access OLEDB提供商认为,
IMAGE
是Access SQL中的保留字,因此需要将该列名括在方括号中:

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


你的语法错误实际上给了你什么?避免插入数据库。我猜它不喜欢用户和/或type
type
是im MS Access
users
不是。数据库中图像字段的类型是什么?谢谢!这真的很有帮助:)