c# - 在插入期间增加一个 int

标签 c# .net oledbconnection

我试图在插入期间从 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/

相关文章:

c# - 多线程和委托(delegate)执行

c# - 如何在 MVC 应用程序中使用 Microsoft Graph 访问其他用户的资源(特别是电子邮件)?

c# - 错误:Make sure that it does not include invalid characters or punctuation and that it is not too long

c# - 如何摆脱异常 "The ' Microsoft.ACE.OLEDB.12。 Win 7 中的 0' provider is not registered on the local machine"

c# - VB.NET 相当于这个 C# linq 类

c# - 使用 MVC4 asp.net 随机注销

.net 引用特定版本是真是假?

c# - 在 C# 中确定打印机的 IP 地址

.net - 有关 Asp.Net 管道和内部请求处理架构的文章/链接

c# - 在 conn.Open() 中出错;在 Asp.net visual studio 2012 中