我试图在插入期间从 c# .net 页面递增 MS Access 表中的整数。
尝试以下操作时出现语法错误。还不确定我是否应该使用 ExecuteNonQuery()
?
OleDbCommand cmd = new OleDbCommand("INSERT INTO tblTarget(target,ref) VALUES(@target,(SELECT MAX(ref)+1 FROM tblTarget)", conn);
cmd.Parameters.AddWithValue("@target", TextTitle.Text);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
最佳答案
你在 tblTarget
之后错过了一个括号:
OleDbCommand cmd =
new OleDbCommand("INSERT INTO tblTarget(target,ref) VALUES(@target,(SELECT MAX(ref)+1 FROM tblTarget))", conn);
这里是对您的代码的一些回顾,尝试使用 using
图案:
using(var conn = new Connection())
{
conn.Open();
string sql = "INSERT INTO tblTarget(target,ref) VALUES(@target,(SELECT MAX(ref)+1 FROM tblTarget))";
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.Parameters.AddWithValue("@target", TextTitle.Text);
cmd.ExecuteNonQuery();
}
关于c# - 在插入期间增加一个 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20680372/