я использую набор данных, чтобы получить некоторую информацию из базы данных, как это:asp.net ошибка извлечения из базы данных, когда строка запроса содержит номер
protected DataSet getInfo() //getting the user info
{
string id = Request.QueryString["User"];
SqlCommand cmd = new SqlCommand("SELECT * FROM copy WHERE [email protected]", conn());
cmd.Parameters.AddWithValue("@id", id);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds;
}
cvPage.InnerHtml = getInfo().Tables[0].Rows[0]["cv"].ToString();
clPage.InnerHtml = getInfo().Tables[0].Rows[0]["cl"].ToString();
bioPage.InnerHtml = getInfo().Tables[0].Rows[0]["bio"].ToString();
и она отлично работает до тех пор, пока не будет число в строке запроса так что если:
QueryString["User"] = "111111"
я получу неправильную синтаксическую ошибку:
Incorrect syntax near '111111'.
но если нет ню он будет работать нормально.
моя база данных содержит четыре столбца:
id | varchar
cv | nvarchar
cl | nvarchar
bio | nvarchar
я использую ASP.NET 4.0.
В чем проблема?
благодаря
Вам действительно нужно 'id' быть' varchar'? –
Используйте профайлер sql server, чтобы узнать, какой именно запрос выполняется за сценой. – Beatles1692
@AbeMiessler - да, это должен быть варчар. но я уже пробовал CAST как int и не работал. – Wahtever