【发布时间】:2017-06-04 22:57:06
【问题描述】:
我有一个包含 9 个字符的字符串,例如 LON052012(来自伦敦 23.05.2012.-day.month.year.)。我想从 Access 中的表中删除所有记录,其中所有城市都以该字符串中的前三个字母开头并具有这些月份和年份 (05.2007.)。
这是函数:
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
try
{
string sTown, s1, s2;
sTown = textBox1.Text.Substring(0, 3);
s1 = textBox1.Text.Substring(3, 2);
s2 = textBox1.Text.Substring(5);
string sDelete = "DELETE * FROM Country WHERE Town LIKE @p1 and month(TownDate) = @p2 and year(TownDate) = @p3";
OleDbCommand komDelete = new OleDbCommand(sDelete, connection);
komDelete.Parameters.AddWithValue("@p1", sTown + "*");
komDelete.Parameters.AddWithValue("@p2", s1);
komDelete.Parameters.AddWithValue("@p3", s2);
connection.Open();
komDelete.ExecuteNonQuery();
MessageBox.Show("Deleted");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
connection.Close();
}
}
else
{
MessageBox.Show("TextBox is empty!");
}
}
这是表格 Country 的样子(CountryID、Town、TownDate):
它总是说记录被删除,即使没有。
【问题讨论】:
标签: c# sql database ms-access ado.net