Conversion failed when converting the nvarchar value
В чем ошибка?
string s = Page.User.Identity.Name.ToString();
if (Page.User.Identity.Name != "")
{
connectionString = WebConfigurationManager.ConnectionStrings["OSBR"].ConnectionString;
con = new SqlConnection(connectionString);
con.Open();
cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd = new SqlCommand("SELECT TOP(20) * FROM dbo.ReturnTable WHERE SiteID=" + s + "ORDER BY id DESC", con);
reader = cmd.ExecuteReader();
if (reader.Read())
{
ReturnGrid.DataSource = reader;
ReturnGrid.DataBind();
}
reader.Close();
}
else
Response.Redirect("Login.aspx");
Если SiteID=MKS то
string s = "MKS";
string sql = "SELECT TOP(20) * FROM dbo.ReturnTable WHERE SiteID=" + s + "ORDER BY id DESC";
Выбрать 20 строк где SiteID =MKS в обратном порядке. Нет?

Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
А вот потому что надо делать не конкатенацию строк для формирования sql-запроса, а нормальный запрос с параметрами.