EXACT duplicate of Syntax error in INSERT INTO statement in c# oledb?
嗨,我无法发现错误。请帮忙。由于语法错误,导致OleDb异常。
INSERT INTO语句中的语法错误OleDb异常未处理。
private OleDbConnection myCon;
public Form1()
{
InitializeComponent();
myCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C.mdb");
}
private void insertuser_Click(object sender, EventArgs e)
{
try
{
OleDbCommand cmd = new OleDbCommand();
myCon.Open();
cmd.Connection = myCon;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO User ([UserID], [Forename], [Surname], [DateOfBirth], [TargetWeight], [TargetCalories], [Height]) Values ('" + userid.Text + "' , '" + fname.Text + "' , '" + sname.Text + "' , '" + dob.Text + "' , '" + tarweight.Text + "' , '" + tarcal.Text + "' , '" + height.Text + "')";
cmd.ExecuteNonQuery();
myCon.Close();
}
catch (Exception ex) { MessageBox.Show(ex.ToString()); }
}
最佳答案
您要插入的值是什么?高度是否以英尺和英寸(5'10“)为单位?在这种情况下,您将关闭字符串('),并且会出现语法错误。
我完全同意@Brennan Vincent。构造原始SQL并非前进之路。
关于c# - C#中的INSERT INTO语句中的语法错误OleDb异常无法发现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4628023/