问三个很简单的问题,希望各位大侠们解惑

beatil 2010-09-09 09:03:29
1.传递参数时遇到奇怪的问题
href='target.aspx?LB=<%# Eval("TupianLB") %>'

String LB = Request.QueryString["LB"].ToString();
Response.Wirte(LB);
String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='LB'";
DataSet ds = ac.GetDs(sqlstr,"TP");
DataList1.DataSource = ds;
DataList1.DataKeyField = "TupianID";
DataList1.DataBind();
前台:
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("TupianPath") %>' />

在源页点链接,链接里有?参数=值
Response.write也能读出传递过来的值
但打开网页后连个图片的叉叉都没有。而不用传递过来的参数,就用表里的记录名又能正常显示图片

2.数据源用了Distinct过滤重复记录后是不是只能显示这个被过滤的字段?
比如文章表里,有很多文章类别一样的文章
SELECT Distinct 文章类别 FROM 文章
如果我加上SELECT Distinct 文章类别,文章标题 FROM 文章 或用*,Distinct就失效了,这如何解决?

3.假如文章表里有"文章标题"、"内容"、"发表日期"、"文章类别"等字段,如何实现增加"文章类别"的功能?
不能直接插入新类别,毕竟其他字段不可能都为空,删除此类别或是更改类别名倒是容易实现

我现在的解决办法是新建一个"文章类别"表,在这个表中添加类别名,用dropdownlist绑定这个表,发表文章时读取dropdownlist选择的类别名
这样编辑类别时,Select和Insert的都是这个文章类别表,而Update和Delete的是文章表。。
这样就需要写个if语句,判断文章表中是否有类别表中的新类别,如果没有就Update和Delete类别表?
这样应该就没问题了吧?

就像是相册一样,图片表里肯定都有图片Type字段(相册),但不能单独创建一个新相册
...全文
111 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
beatil 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhyb0807508205 的回复:]
简单还问????
[/Quote]
我初学者,简单的问题也能难倒我的
beatil 2010-09-09
  • 打赏
  • 举报
回复
问题三解决了就无须考虑问题二了,那个过滤还真是复杂....
zhyb0807508205 2010-09-09
  • 打赏
  • 举报
回复
简单还问????
beatil 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wuyq11 的回复:]
String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='"+LB+"'";
文章类别单独表保存
类别表:ID,类别名称
文章:ID,类别ID(外键)...
[/Quote]

原来是这样,经验太少,脑筋就是转不过来
beatil 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 beyond_me21 的回复:]
第一个问题:String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='"+LB+"'";
LB是变量,你这里把它当成sql语句字符串的一部分了
[/Quote]

谢谢你,我一个人在家看书也不容易,基本知识不稳固....就看到很多控件的值用双+括起来,不知道变量也需要这样
beatil 2010-09-09
  • 打赏
  • 举报
回复
我是该多学学,2楼3楼肯定懂很多啊,为什么不愿意指点一下呢?

2楼你怎么知道我做什么自己不清楚?????
IToneY 2010-09-09
  • 打赏
  • 举报
回复
3楼正解!! String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='"+LB+"'"; TupianLB这里取的才是int型变量LB。 楼主的取法条件是TupianLB=LB !!
wuyq11 2010-09-09
  • 打赏
  • 举报
回复
distinct a,b,c
是针对 a,b,c的组合来distinct的. 而不是对a distinct 而对b,c,不distinct
处理表重复记录(查询和删除)http://topic.csdn.net/u/20100705/11/2b526f5d-9ea8-49ad-823a-b20ced7bb698.html
q107770540 2010-09-09
  • 打赏
  • 举报
回复
String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='LB'";
======
String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='" +LB +"'";
wuyq11 2010-09-09
  • 打赏
  • 举报
回复
String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='"+LB+"'";
文章类别单独表保存
类别表:ID,类别名称
文章:ID,类别ID(外键)...
gongsun 2010-09-09
  • 打赏
  • 举报
回复
呵呵。。。

1.
你数据库中的 TupianLB 是 int 还是 字符串?
String sqlstr = "SELECT * FROM Tupian WHERE TupianLB="LB; //这是int
String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='"+LB+"'"; //这个是 字符串。

2. Distinct 文章类别 去除类别相同的, Distinct 文章类别,文章标题 去除 那2个同时都相同的。

3. 你需要有一个 类别表 和你的 文章表进行关联。

类别表: web_category (categoryid categoryname)

文章表: web_article (articleid categoryid articletitle articlecontent )

类别表里可以存放你整个网站的 所有类别,谨慎修改、不删除。
wwfgu00ing 2010-09-09
  • 打赏
  • 举报
回复
认真加认真,调试再调试
beyond_me21 2010-09-09
  • 打赏
  • 举报
回复
第一个问题:String sqlstr = "SELECT * FROM Tupian WHERE TupianLB='"+LB+"'";
LB是变量,你这里把它当成sql语句字符串的一部分了
sijianjiang 2010-09-09
  • 打赏
  • 举报
回复
我的心好乱,留一些空白,多学学吧,很多本质性的问题没有把握好
threenewbee 2010-09-09
  • 打赏
  • 举报
回复
好好学学 SQL ASP.NET HTTP,听你的描述,你连自己做的是啥都还不清楚呢。

62,272

社区成员

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

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

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

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