【发布时间】:2017-06-29 08:19:48
【问题描述】:
我想搜索包含 3 个或更多“#”的记录。
在 MSAccess 中,我可以写这个并显示结果:
SELECT * FROM AlmLotes WHERE Lote LIKE '[#][#][#]*';
但在 C# 中不起作用。
DataTable dtResultats = new DataTable();
string strConnectionSource = MYCONNECTIONSTRING
OleDbConnection connAccess = new OleDbConnection(strConnectionSource);
connAccess.Open();
string strSQL = "SELECT * FROM AlmLotes WHERE Lote LIKE '[#][#][#]*'";
OleDbCommand cmd = new OleDbCommand(strSQL, connAccess);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(cmd);
dtResultats = new DataTable();
try
{
myDataAdapter.Fill(dtResultats);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
for (int i = 0; i < dtResultats.Rows.Count; i++)
{
var rows = dtResultats.Rows[i];
for (int z = 0; z < dtResultats.Columns.Count; z++)
{
Console.WriteLine(dtResultats.Columns[z].ColumnName + ": " + rows[z] + Environment.NewLine);
}
}
Console.ReadKey();
MSAcces 中的 SQL 查询显示 5 个结果。 C# 中的 SQL 查询显示 0 个结果。
【问题讨论】:
-
此代码中的其他查询完美运行。
-
你查询的字段是只有
[#][#][#]*还是有别的? -
@Rekcs 我要查询的字段如下:##########
-
请发布解决方案作为答案,而不是作为问题的更新。这是为了帮助未来的访客并避免混淆。谢谢。