String id = Request.QueryString["id"];
int no = Int32.Parse(id);
string query = "select * from product_desc where d_id='"+no+"' ";
SqlDataAdapter Da = new SqlDataAdapter(query, conn);
在此代码中,在执行时它会给出错误"输入字符串的格式不正确"。 我该如何执行此查询?请提供任何建议或表格链接以解决此问题
答案 0 :(得分:0)
更改以下代码:
string id = Request.QueryString["id"] != null ? Request.QueryString["id"].ToString() : "0" ;
int no = Convert.ToInt32(id);
string query = String.Format("select * from product_desc where d_id={0}",no);
SqlDataAdapter Da = new SqlDataAdapter(query, conn);
答案 1 :(得分:0)
做以下事情就足够了。
String id = Request.QueryString["id"];
int no = Int32.Parse(id);
string query = String.Format("select * from product_desc where d_id={0}",no);
SqlDataAdapter Da = new SqlDataAdapter(query, conn);
我仍然怀疑Request.QueryString [" id"]在第一时间没有返回正确的值。请确认,以便我能提供更好的答案。
答案 2 :(得分:0)
试试这段代码
if (string.IsNullOrEmpty(Request.QueryString["id"]))
{
int no = Convert.ToInt32(Request.QueryString["id"]);
string query = String.Format("select * from product_desc where d_id={0}",no);
}
答案 3 :(得分:0)
SQL注入:
SQL注入是一种技术,恶意用户可以通过网页输入将SQL命令注入SQL语句。
注入的SQL命令可能会改变SQL语句并危及Web应用程序的安全性。
因此使用Parameters
来避免SQl注入攻击。
String id = Request.QueryString["id"];
int no = Int32.Parse(id.trim());
string query = "select * from product_desc where d_id=@d_id";
SqlDataAdapter Da = new SqlDataAdapter(query, conn);
Da.SelectCommand.Parameters.AddWithValue("@d_id", no);
Da.SelectCommand.CommandType = CommandType.Text;