繁体   English   中英

sql,简单查询以从数据库中删除记录

[英]sql, simple query to delete record from db

我想以用户输入作为参数从我的firebird数据库中删除某些记录。

所以我有以下代码

private void btnOk_Click(object sender, EventArgs e)
        {
            string code = txtDeleteField.Text;
            string connString = ConfigurationManager.AppSettings["DemoAppConnectionString"];

            using (FbConnection conn = new FbConnection(connString))
            {
                using (FbCommand cmd = new FbCommand())
                {
                    cmd.CommandText = "DELETE * FROM DEMOAPP WHERE CODE= @P1";
                    cmd.Parameters.AddWithValue("@P1", code);
                    cmd.Connection = conn;
                    conn.Open();
                    cmd.Transaction = conn.BeginTransaction();

                    int a = cmd.ExecuteNonQuery();
                    if (a == 0)
                    {
                        MessageBox.Show("Error!");
                    }
                    else
                    {
                        MessageBox.Show("Record deleted, ok!" );
                    }
                }

            }
        }

此代码产生错误

An unhandled exception of type 'FirebirdSql.Data.FirebirdClient.FbException' occurred in FirebirdSql.Data.FirebirdClient.dll

Additional information: Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 8
*

您的查询是错误的, "DELETE * FROM DEMOAPP WHERE CODE= @P1"无效: DELETE语句中不应存在*

将其更改为"DELETE FROM DEMOAPP WHERE CODE= @P1"应该可以解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM