public IEnumerable<Model_Shortcuts> ListWhereLIKE_ExplainContent(string pWhereExplainORContent)
{
List<Model_Shortcuts> list = new List<Model_Shortcuts>();
this.DataGridViewRowsIndex = 0;
string strsql = @"SELECT Shortcuts_ID,Code,Explain,Content,Images,Shortcuts_MenuTitleForeignKey,Shortcuts_CategoryForeignKey FROM Shortcuts
WHERE Explain LIKE ? OR Content LIKE ?"; OleDbParameter[] parms = { new OleDbParameter("?",OleDbType.LongVarWChar),new OleDbParameter("?",OleDbType.LongVarWChar) };
parms[0].Value = "'*"+pWhereExplainORContent+"*'";
parms[1].Value = "'*"+pWhereExplainORContent+"*'";
DataTable dt = db.ExecuteDataTable(strsql, parms);
foreach (DataRow row in dt.Rows) { list.Add(ToModel(row)); }
return list;
}
我想传递的语句是:
SELECT Shortcuts_ID,Code,Explain,Content,Images,Shortcuts_MenuTitleForeignKey,Shortcuts_CategoryForeignKey FROM Shortcuts WHERE Explain LIKE '*人多*' OR Content LIKE '*人多*'********************
{
List<Model_Shortcuts> list = new List<Model_Shortcuts>();
this.DataGridViewRowsIndex = 0;
string strsql = @"SELECT Shortcuts_ID,Code,Explain,Content,Images,Shortcuts_MenuTitleForeignKey,Shortcuts_CategoryForeignKey FROM Shortcuts
WHERE Explain LIKE ? OR Content LIKE ?"; OleDbParameter[] parms = { new OleDbParameter("?",OleDbType.LongVarWChar),new OleDbParameter("?",OleDbType.LongVarWChar) };
parms[0].Value = "'*"+pWhereExplainORContent+"*'";
parms[1].Value = "'*"+pWhereExplainORContent+"*'";
DataTable dt = db.ExecuteDataTable(strsql, parms);
foreach (DataRow row in dt.Rows) { list.Add(ToModel(row)); }
return list;
}
我想传递的语句是:
SELECT Shortcuts_ID,Code,Explain,Content,Images,Shortcuts_MenuTitleForeignKey,Shortcuts_CategoryForeignKey FROM Shortcuts WHERE Explain LIKE '*人多*' OR Content LIKE '*人多*'********************
public DataTable ExecuteDataTable(string cmdText, params OleDbParameter[] paras)
{
using (OleDbConnection con = new OleDbConnection(strcon))
{
con.Open();
using (OleDbCommand cmd = con.CreateCommand())
{
cmd.CommandText = cmdText;
if (paras != null)
{
cmd.Parameters.AddRange(paras);
} DataTable dt = new DataTable();
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
adapter.Fill(dt);
cmd.Parameters.Clear();
return dt;
}
}
}
//奇怪的是 我用纯字符串拼接 也不行!!!!!!! string strsql = @"SELECT Shortcuts_ID,Code,Explain,Content,Images,Shortcuts_MenuTitleForeignKey,Shortcuts_CategoryForeignKey FROM Shortcuts WHERE Explain LIKE '*"+pWhereExplainORContent+"*' OR Content LIKE '*"+pWhereExplainORContent+"*'"; DataTable dt = db.ExecuteDataTable(strsql, null);
foreach (DataRow row in dt.Rows) { list.Add(ToModel(row)); } return list;
parms[0].Value = "'*"+pWhereExplainORContent+"*'";
parms[1].Value = "'*"+pWhereExplainORContent+"*'";你为什么要这么写 如果你确定你是 * 开头和结尾是可以但是参数名字你写对 例如 SELECT * FROM WHERE NAME=?NAEM AND PASSWORD=?PASSWORD你的? 缺少名字