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 '*人多*'
********************
uj5u.com熱心網友回復:
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;
uj5u.com熱心網友回復:
提示什么錯誤貼出來啊uj5u.com熱心網友回復:
OleDbParameter[] parms = { new OleDbParameter("?",OleDbType.LongVarWChar),new OleDbParameter("?",OleDbType.LongVarWChar) };parms[0].Value = "'*"+pWhereExplainORContent+"*'";
parms[1].Value = "'*"+pWhereExplainORContent+"*'";
你為什么要這么寫
如果你確定你是 * 開頭和結尾是可以但是引數名字你寫對
例如
SELECT * FROM WHERE NAME=?NAEM AND PASSWORD=?PASSWORD
你的? 缺少名字
uj5u.com熱心網友回復:
我是想用LIKE 陳述句啊 在ACCESS里 查詢可以 但是c#回傳的就為空!!!!uj5u.com熱心網友回復:
在寫使用access資料庫的c#程式程序中,遇到各種莫名奇妙的問題。例如使用"like"進行模糊查詢,在access查詢視圖中要使用"*"做模糊匹配(sql中是"%").原以為在程式中的查詢字串也應該使用"*",事實上并非如此!
在access資料庫中除錯用"*",程式中要改過來用"%",否則是查詢不到任何資料的,而且vs還不報任何錯,除錯都找不到原因。
引至:https://www.cnblogs.com/bile/archive/2013/09/25/3338748.html
uj5u.com熱心網友回復:
不是寫給你了嗎轉載請註明出處,本文鏈接:https://www.uj5u.com/net/127378.html
標籤:C#
