Я обновил свой код с помощью всех вас, но все еще есть проблема, когда подстановочный знак '*' не работает с моей программой:
У меня есть программа на C #, в которой есть массив слов, заданных ей в поле ввода.
Я могу выполнить следующий запрос с подстановочным знаком (*) в SQL Management Studio без проблем, и я получу необходимые результаты:
SELECT Site, StreetAddress, City, State, Zip, PharmacyPhone, MDVersion,
InstallDate, SiteCodes, SiteNotActive, CloseDate, SiteNotes
FROM Sites
WHERE contains(site, '"ev*"' ) OR contains (StreetAddress, '"ev*"')
OR contains(city, '"ev*"')
НО при попытке запустить приведенный ниже код в моем c # я не получаю никаких результатов. Что я делаю неправильно? массив будет содержать строку 'ev *'. код c #:
private void btnSearch_Click(object sender, EventArgs e)
{
//Get the value from textbox
string keyword = txtboxKeyword.Text;
string[] words = keyword.Split(' ');
try
{
switch (words.Length)
{
case 1:
var select = "SELECT Site, StreetAddress, City, State, Zip, PharmacyPhone, MDVersion, InstallDate, SiteCodes, SiteNotActive, CloseDate, SiteNotes
FROM Sites WHERE contains(site, @words0) OR contains (StreetAddress, @words0) OR contains(city, @words0)";
var conn = new SqlConnection(myconnstr);
SqlCommand cmd = new SqlCommand(select, conn);
cmd.Parameters.AddWithValue("@words0", words[0]);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
var commandbuilder = new SqlCommandBuilder(sda);
var dt = new DataTable();
sda.Fill(dt);
dataGridSites.ReadOnly = true;
dataGridSites.DataSource = dt;
dataGridSites.CurrentCell = null;
break;