【问题标题】:ASP.net MS-access like query not working using asp.net c#ASP.net MS-access like 查询无法使用 asp.net c#
【发布时间】:2016-11-09 16:13:02
【问题描述】:

所有喜欢的查询都不起作用请帮助我,下面是我的代码。

string Item_Name = txt_search.Text.Trim();
string Conn = ConfigurationManager.ConnectionStrings["AjitConnectionString"].ToString();
OleDbConnection con = new OleDbConnection(Conn);
con.Open();
OleDbCommand cmd;
cmd = new System.Data.OleDb.OleDbCommand("select * from [Item] where [Name] like '*'+inamer_Name+'*'", con);
cmd.Parameters.AddWithValue("@inamer_Name", Item_Name);
cmd.ExecuteNonQuery();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
grid_itemedit.DataSource = dt;
grid_itemedit.DataBind();
con.Close();

【问题讨论】:

  • cmd = new System.Data.OleDb.OleDbCommand("select * from [Item] where [Name] like '" + inamer_Name + "'", con);它也不起作用。请帮助我。
  • 请在投反对票前正确复制答案
  • 对不起,我复制了你的确切答案,但它不起作用。
  • 我上面的评论不是一个精确的副本:你错过了通配符:like '" + inamer_Name + "'"like '*" + inamer_Name + "*'" 相邻。还要注意命令字符串中 .net 引号 " 和 Access qoutes ' 之间的区别
  • 顺便说一句,inamer_Name 是什么?它不是parameter,所以cmd.Parameters.AddWithValue("@inamer_Name", Item_Name); 应该是错误的。您也不要使用SELECT 查询作为您在cmd.ExecuteNonQuery(); 中执行的命令...所以代码中有很多事情不起作用

标签: javascript css asp.net ms-access


【解决方案1】:

通配符是比较字符串的一部分。
For example:

喜欢'b*'
结果:所有以 b 开头的值

cmd = new System.Data.OleDb.OleDbCommand("select * from [Item] where [Name] like '%" + inamer_Name + "%'", con);

【讨论】:

  • 使用OleDb时,需要不同的通配符:%而不是*;和_ 而不是?
猜你喜欢
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多