从数据库中删除行时出错

时间:2015-05-17 19:05:37

标签: c# sql .net database msdn

我正在使用此代码尝试从我的表中删除数据:

SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("delete * from login", con);
con.Open();
cmd.ExecuteNonQuery();

当我运行此操作时,我收到此错误:

  

System.Data.dll中发生了未处理的“System.Data.SqlClient.SqlException”类型异常   附加信息:'*'

附近的语法不正确

4 个答案:

答案 0 :(得分:3)

DELETE语句的标准语法是

 DELETE from <tablename> WHERE <condition>

FROM之前不需要星号。只是MS-Access喜欢这种语法。

另请注意,如果您不添加WHERE条件,则会删除整个表格,但使用

可以更轻松,更快捷
 DROP TABLE <tablename>

答案 1 :(得分:1)

SqlCommand cmd = new SqlCommand("delete from login", con);

您不必指定要删除的列,因为您始终会删除整行。这就是为什么你不必写*

答案 2 :(得分:0)

您的查询中存在问题。

而不是写作:

Delete * from login

你应该写:

Delete from login

Exp:在delete命令中,我们不需要在*语句中编写select,因为您不能只删除某些列而是删除整行。但是,仍然可以应用where子句来选择特定的行。

答案 3 :(得分:0)

删除*,您的查询就像您一样好。