0
這是驅動我餅乾!想想我已經嘗試了一切,只是無法弄清楚發生了什麼事情。更糟糕的是,我無法訪問SQL服務器上的SQL Profiler。Command.Parameters&Apostrophe
測試值被送往方法是「巴爾黑德城市婦女」的協會集」
正如你看到的,我使用的是替換改變單一的撇號爲雙。我在想這是搞砸了SQL!
我的查詢沒有返回任何結果時,我管的值到命令的參數。但是,如果我只是將變量直接包含到查詢中,它就可以工作。
下面是該查詢(其被剝離下來簡潔):
public DataTable select_advancedSearch(string collection)
{
string cnn = ConfigurationManager.ConnectionStrings[connname].ConnectionString;
using (SqlConnection connection = new SqlConnection(cnn))
{
string SQL = string.Empty;
SQL = "SELECT tbl1.ResourceID, tbl1.ItemTitle, tbl1.Type, tbl1.Description, tbl1.CollectionTitle ";
SQL += "FROM [ercHeritage].[dbo].[ERC_HERITAGE_CORE] tbl1 ";
SQL += "WHERE tbl1.CollectionTitle LIKE '%'+ @Input1 +'%' ";
using (SqlCommand command = new SqlCommand(SQL, connection))
{
command.Parameters.Add("@Input1", SqlDbType.NVarChar,255);
command.Parameters["@Input1"].Value = collection.Replace("'", "''").Trim();
DataTable MyTable = new DataTable();
try
{
connection.Open();
SqlDataAdapter MyAdaptor = new SqlDataAdapter();
MyAdaptor.SelectCommand = command;
MyAdaptor.Fill(MyTable);
}
catch (Exception)
{
System.Web.HttpContext.Current.Response.Write("There was a problem with your request.");
}
return MyTable;
}
}
}
任何答案感謝!
謝謝Alan Alan
似乎已經做到了!非常感謝:) –
工作!非常感謝。 –