我在SQL中使用简单的DELETE语句遇到意外结果时遇到了麻烦,似乎将单词添加到列表中了。一定是愚蠢的东西!但我看不到,尝试了几种不同的方式。所有相同的结果非常令人困惑。
public void IncludeWord(string word)
{
// Add selected word to exclude list
SqlConnection conn = new SqlConnection();
String ConnectionString = "Data Source = dev\\SQLEXPRESS ;" + "Initial Catalog=sml;" + "User id=** ;" + "Password =*;" + "Trusted_Connection=No";
using (SqlConnection sc = new SqlConnection(ConnectionString))
{
try
{
sc.Open();
SqlCommand Command = new SqlCommand(
"DELETE FROM excludes WHERE word='@word'" +
conn);
Command.Parameters.AddWithValue("@word", word);
Command.ExecuteNonQuery();
}
catch (Exception e)
{
Box.Text = "SQL error" + e;
}
finally
{
sc.Close();
}
ExcludeTxtbox.Text = "";
Box.Text = " Word : " + word + " has been removed from the Exclude List";
ExcludeLstBox.AppendDataBoundItems = false;
ExcludeLstBox.DataBind();
}
尝试删除单引号。另外,为什么还要将SQL字符串与连接对象(.. word='@word'" + conn
)连接起来????
尝试这样:
try
{
using (var sc = new SqlConnection(ConnectionString))
using (var cmd = sc.CreateCommand())
{
sc.Open();
cmd.CommandText = "DELETE FROM excludes WHERE word = @word";
cmd.Parameters.AddWithValue("@word", word);
cmd.ExecuteNonQuery();
}
}
catch (Exception e)
{
Box.Text = "SQL error" + e;
}
...
还要注意,由于连接被包装在using块中,因此您无需在finally
语句中将其关闭。Dispose方法将自动调用.Close方法,该方法会将连接返回到ADO.NET连接池,以便可以重用它。
另一点是,这种IncludeWord
方法在很多事情上都做得很好。它发送SQL查询以删除记录,它在GUI上更新一些文本框,并绑定一些列表=>这样的方法应该分开分开,这样每个方法都有其特定的职责。否则,此代码只是维护方面的噩梦。我强烈建议您编写仅执行单个特定任务的方法,否则代码很快就会变成一团糟。
有了这种SQL语句,如何从date_created列中删除毫秒?
问题内容: 我想从中删除数据的SQL数据库中有一个表?我想保留列。 例如,我的表有3列,即名称,年龄,日期。我不想删除这些,我只想删除数据。 我应该截断,删除还是删除? 问题答案: 不要删除-它将删除数据和定义。 如果删除-数据不见了,并且自动增量值从上一个值开始继续。 如果您截断-则就像您刚刚创建了表一样。无数据且所有计数器均已重置
问题内容: 我有一张桌子,我只按ID顺序显示最新的30行。 我正在尝试通过使用以下查询删除30个最新行之后的任何行。 我不断收到以下错误 我究竟做错了什么? 问题答案: 试试这个
T-SQL中的DROP TABLE语句用于删除表定义,删除表的数据、索引、触发器、约束。 注意 - 需要小心使用这个命令,因为如果使用这个命令删除一个表,那么存储在表中的所有数据将永远丢失。 Drop-Table 的语法 语句的语法是- 例子: 首先验证表,然后从数据库中删除—— 上述命令输出结果如下 - CUSTOMERS 表在数据库中可用,所以让我们删除它。下面是命令: 执行上面的命令,没有收
问题内容: 我在SQL Server 2005中有一张表,其中有大约40亿行。我需要删除大约20亿行。如果我尝试在单个事务中执行此操作,则事务日志将填满,并且将失败。我没有多余的空间来增加事务日志。我认为最好的方法是批处理delete语句(约10,000个批?)。 我可能可以使用游标执行此操作,但是这样做是一种标准/简单/明智的方法吗? PS此表没有标识列作为PK。PK由整数外键和日期组成。 问题
我已经通过使用MAVEN/maven/bin/mvn-X-e从命令行将工件上传到Sonatype Nexus:部署文件-Durl=http://maven-nexus.com/nexus/content/repositories/xyz-DrepositoryId=xyz-DgroupId=com.kumar-DartifactId=Peshu-Dversion=1.0.12-D包装=war-Df