62,041
社区成员
发帖
与我相关
我的任务
分享
protected void Button1_Click(object sender, EventArgs e)
{
if (Session["username"] == null)
{
Response.Write("<script>alert('您还没有登录,请登录后再执行此操作!')</script>");
//Page.ClientScript.RegisterStartupScript(this.GetType(), "error", "<script>alert('您还没有登录,请登录后再执行此操作!')</script>");
}
else
{
//查询当前用户积分是否大于索要下载资源的所需积分
//查询当前用户积分
string con_access = ConfigurationManager.AppSettings["accessCon"].ToString();
OleDbConnection conn = new OleDbConnection(con_access);
string sql = "select U_POINTS from T_USER where U_NAME='"+Session["username"]+"'";
OleDbCommand cmd = new OleDbCommand(sql,conn);
conn.Open();
int points = Convert.ToInt32(cmd.ExecuteScalar());
//int pointsneed=Convert.ToInt32(Label4.Text.ToString());
//查询所需下载积分
OleDbConnection conn2 = new OleDbConnection(con_access);
string sql2 = "select R_POINTS from T_RESOURCE where R_NAME='" + Page.Request.QueryString["R_NAME"]+"'";
OleDbCommand cmd2 = new OleDbCommand(sql2,conn2);
conn2.Open();
OleDbDataReader dr = cmd2.ExecuteReader();
if (dr.Read())
{
int pointsneed = Convert.ToInt32(dr[0]);
//比较两个数
if (points >= pointsneed)
{
string fileFullName;
string attachFileName = Request.QueryString["R_NAME"].ToString();//取出文件ID号
//string con_access = ConfigurationManager.AppSettings["accessCon"].ToString();
OleDbConnection conn1 = new OleDbConnection(con_access);
string sql1 = "select R_LINK from T_RESOURCE where R_NAME='" + attachFileName + "'";
OleDbCommand cmd1 = new OleDbCommand(sql1, conn1);
conn1.Open();
fileFullName = cmd.ExecuteScalar().ToString();//取出文件下载路径
//fileFullName = Server.MapPath(fileFullName);//将虚拟路径转换为物理路径
DownloadFile(fileFullName);//下载文件
conn1.Close();
}
else
{
Response.Write("<script>alert('您的积分不足,请上传资源以获得下载积分!');</script>");
}
}
dr.Close();
conn2.Close();
conn.Close();
}
}
fileFullName这个值是你要的吗? 断点调试看看,报错已经很明显了
那我的比较的就是没有错吗?我发现当前这个用户有多少积分,它提示的文件就叫什么,但我现在登录的用户有20积分时,提示Error : 未能找到文件“C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\20”。当用户有10积分时,提示Error : 未能找到文件“C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\10”。 现在的错误是:未能找到文件,和if什么的没关系
现在的错误是:未能找到文件,和if什么的没关系
DownloadFile(fileFullName);//下载文件 是不是这句话的问题fileFullName这边读出来是物理路径?