当前位置:编程学习 > C#/ASP.NET >>

由小类获取的大类

a表

aid   atitle
1     大类一
2     大类二
3     大类三
.
.
n     大类N

b表

bid  aid btitle
1    1   小类一
2    1   小类二
3    2   小类三
.
.
.

b.aspx.cs中主要代码
  
string Id;
    protected void Page_Load(object sender, EventArgs e)
    {
        Id = Request.QueryString["id"];
    }

//显示当前小类
    public string sclass()
    {
        //连接数据库
        SqlCommand cmd = new SqlCommand("SELECT * FROM b where bid='" + Id + "'", 

objConnection);
        //读出数据
    }

//显示和该当前小类有相同aid的小类
    public string s2class()
    {
        //连接数据库
        SqlCommand cmd = new SqlCommand("这里的SQL语句怎么写呢?, 

objConnection);
        //读出数据
    }

b.aspx中主要代码

//显示当前小类
<%=sclass()%>
//显示和该当前小类有相同aid的小类
<%=s2class()%>

请看我上面数据库结构和相关代码,我先实现的是如上面b.aspx代码中要求的,请问第二个函数中s2class,这里的SQL语句该怎么写呢?,或者我是否可以在sclass中获取到当前小类的aid,赋值给一个参数,然后传到下面的S2CLASS中来,请问该怎么做呢?谢谢 --------------------编程问答--------------------

SqlCommand cmd = new SqlCommand("SELECT * FROM b where aid=(select xx.aid from b as xx where xx.bid='" + Id + "')'");
--------------------编程问答-------------------- "select b1.* from b b1,b b2 where b1.aid=b2.aid and b1.bid<>b2.bid and b2.bid='" + Id + "'" --------------------编程问答-------------------- 把aid 作为 sclass() s2class() 的参数.

另外,尽量使用参数化查询.并且尽量避免使用select * 的查询, 需要几个字段,查询几个字段,这是一种我们经常推荐的习惯.

SqlCommand cmd = new SqlCommand("SELECT * FROM b where bid='" + Id + "'"

修改为.

SqlCommand cmd = new SqlCommand("SELECT field1,field2,field3.... FROM b where bid=@bid");
cmd.Parameters.Add(....参数.);
// 查询并赋值. --------------------编程问答-------------------- 顶楼上几位的 --------------------编程问答--------------------

SELECT btitle FROM b where aid=(select A.aid from b A where A.bid=" + Id + ");
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,