Вот файл aspx.cs для моего веб-приложения:
защищенный void Button1_Click (отправитель объекта, EventArgs e)
{
SqlDataReader myDataReader = null;
string connectionString = "Data Source=[my source];Initial Catalog=[catalog name];Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand returnResults = new SqlCommand("SELECT " + categoryName + " FROM Teacher WHERE " + categoryName + " LIKE '%" + searchText + "%'", connection);
connection.Open();
myDataReader = returnResults.ExecuteReader(CommandBehavior.CloseConnection);
while (myDataReader.Read())
{
Console.Write(myDataReader.GetInt32(0) + "\t");
Console.Write(myDataReader.GetString(2) + " " + myDataReader.GetString(1) + "\t");
Console.Write(myDataReader.GetString(3) + "\t");
if (myDataReader.IsDBNull(4))
Console.Write("N/A\n");
else
Console.Write(myDataReader.GetInt32(4) + "\n");
}
myDataReader.Close();
connection.Close();
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
categoryName = DropDownList1.SelectedItem.Value;
}
protected void SearchBox_TextChanged(object sender, EventArgs e)
{
searchText = SearchBox.Text;
}
В моей базе данных есть таблица с примерно 24 столбцами. В DropDownList, который я создал, есть возможность выбрать каждое из этих имен столбцов. Внизу есть SearchBox, где пользователь может ввести ключевое слово для поиска.
Я хочу сохранить выбор DropDownList как «categoryName», и я хочу сохранить ввод SearchBox как «searchText». Когда я запускаю приложение, я получаю эту ошибку:
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Data.SqlClient.SqlException: неправильный синтаксис рядом с ключевым словом «FROM».
Ошибка источника:
Строка 48: myDataReader = returnResults.ExecuteReader (CommandBehavior.CloseConnection);
Я не уверен, как продвинуться отсюда, поэтому любая помощь приветствуется. Если вам нужна дополнительная информация, пожалуйста, спросите.