比较从两个表中取出的两个数据的大小,想做积分制,积分够就让下载,但比较值时总是有错误

cotton_zym 2016-05-31 08:50:55
想比较当前用户拥有的积分是否大于所要下载资源的所需积分,如果大于等于就给下载,如果小于就提示积分不够,但从user表和resource表中分别查询出points的值时该怎么比较呢,我把它们都转换成int类型后,运行时就出现下面的情况,也不是报错,不知道是什么意思是不是我比较大小写的不对呢

下载按钮的代码
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();

}

}
...全文
191 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cotton_zym 2016-06-01
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
引用 4 楼 sinat_24537313 的回复:
[quote=引用 3 楼 shingoscar 的回复:] 现在的错误是:未能找到文件,和if什么的没关系
那我的比较的就是没有错吗?我发现当前这个用户有多少积分,它提示的文件就叫什么,但我现在登录的用户有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”。
告诉我这些干嘛? 找不到文件啊,找不到文件懂吗?就是你想读这个文件,但是硬盘上没有的意思 要么就是你路径搞错了 要么就是没权限 或者你根本就不打算读文件,搞错函数了[/quote]大哥你脾气好大啊……我这不是比较笨嘛
cotton_zym 2016-06-01
  • 打赏
  • 举报
回复
引用 6 楼 hanjun0612 的回复:
fileFullName这个值是你要的吗? 断点调试看看,报错已经很明显了
真的!!感觉自己昨天瞎了!!调试好几次都没看到!!
Poopaye 2016-06-01
  • 打赏
  • 举报
回复
引用 4 楼 sinat_24537313 的回复:
引用 3 楼 shingoscar 的回复:
现在的错误是:未能找到文件,和if什么的没关系
那我的比较的就是没有错吗?我发现当前这个用户有多少积分,它提示的文件就叫什么,但我现在登录的用户有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”。
告诉我这些干嘛? 找不到文件啊,找不到文件懂吗?就是你想读这个文件,但是硬盘上没有的意思 要么就是你路径搞错了 要么就是没权限 或者你根本就不打算读文件,搞错函数了
正怒月神 版主 2016-06-01
  • 打赏
  • 举报
回复
fileFullName这个值是你要的吗? 断点调试看看,报错已经很明显了
cotton_zym 2016-06-01
  • 打赏
  • 举报
回复
哎呀,顶下~~~~
cotton_zym 2016-05-31
  • 打赏
  • 举报
回复
引用 3 楼 shingoscar 的回复:
现在的错误是:未能找到文件,和if什么的没关系
那我的比较的就是没有错吗?我发现当前这个用户有多少积分,它提示的文件就叫什么,但我现在登录的用户有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”。
Poopaye 2016-05-31
  • 打赏
  • 举报
回复
现在的错误是:未能找到文件,和if什么的没关系
cotton_zym 2016-05-31
  • 打赏
  • 举报
回复
引用 1 楼 fxj805835819 的回复:
DownloadFile(fileFullName);//下载文件 是不是这句话的问题fileFullName这边读出来是物理路径?
是物理路径,但在我加入比较之前,是可以正常下载的,加了比较的if之后,就不行了
範先森 2016-05-31
  • 打赏
  • 举报
回复
DownloadFile(fileFullName);//下载文件 是不是这句话的问题fileFullName这边读出来是物理路径?

62,270

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧