各位高手:
我要做一个DropDownList的多表查询,现在我已经把顺着的查询做完了。也就是在添加时用的。
现在想在修改时,把被修改项的类别用DropDownList的形式展现出来。
我这有个问题:
我有6张表,父类表只有自己的ID(这个为一层),下一级有上一级父类的ID(二层),再下一级有二层的ID,以此类推。每张表只有上一层的ID。 这个怎么能查询出来呢? 给点示例吧。谢谢了。
我要做一个DropDownList的多表查询,现在我已经把顺着的查询做完了。也就是在添加时用的。
现在想在修改时,把被修改项的类别用DropDownList的形式展现出来。
我这有个问题:
我有6张表,父类表只有自己的ID(这个为一层),下一级有上一级父类的ID(二层),再下一级有二层的ID,以此类推。每张表只有上一层的ID。 这个怎么能查询出来呢? 给点示例吧。谢谢了。
ID
ParentID
ParentCode
........
你可以规律设计ParentCode,这样取值就方便多了
谢谢了帮帮忙吧。
不如6个的ID都记
现在想在修改时,把被修改项的类别用DropDownList的形式展现出来。啥意思来着
给文章做修改的时候,DropDownList会级联出在添加时所选的类别内容。
我现在就是不知道怎么在修改时用DropDownList显示数据
表2存的是国家的数据。(表2存有表1的ID)
表3存的是省的数据。(表3存有表2的ID)我要从表3开始查询,怎么能把表2和表1的数据绑定出来呢?谢谢了!
表1 洲:ID 1亚洲、ID 2欧洲
表2 国家:ID 1中国(存的是表1中的ID 1)、ID 2日本、ID 3韩国
表3 省:(比如是中国的)ID 1河北省(存的是表2中的ID 2)怎么查询呢?
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title> <script language="javascript" type="text/javascript" src="jquery-1.4.2.js"></script> <%if (false)
{ %> <script type="text/javascript" src="jquery-1.4.2-vsdoc.js"></script> <%} %> <script type="text/javascript">
$.ajaxSetup({ async: false });
var randomnum = Math.random(); $(document).ready(function() {
$("#ddl1").append("<option value='-1' selected='selected'>请选择...</option>");
$.getJSON("loadClass.ashx?num=" + randomnum, { "ddlId": 0 }, function(data) { for (var i = 0; i < data.length; i++) {
$("#ddl1").append($("<option></option>").val(data[i].ID).html(data[i].Cname));
}; $("#ddl1").change(function() { GetItem($(this).val(), this); }); });
}); function GetItem(parentId, obj) { $.getJSON("loadClass.ashx?num=" + randomnum, { "ddlId": parentId }, function(data) { $(obj).nextAll(".ddl").remove(); if (data != null) {
$("<select>", {
"class": "ddl",
change: function() {
GetItem($(this).val(), this);
}
}).appendTo($("#myDiv")); $($(".ddl")[$(".ddl").length - 1]).append("<option value='-1' selected='selected'>请选择...</option>");
for (var i = 0; i < data.length; i++) {
$($(".ddl")[$(".ddl").length - 1]).append($("<option></option>").val(data[i].ID).html(data[i].Cname));
};
}
}); } function GetDropDownListValue() {
var ddlValue;
var ddlCount = $(".ddl").length;
for (var i = ddlCount - 1; i >= 0; i--) {
if (i != 0) {
if ($($(".ddl")[i]).val() != -1) {
ddlValue = $($(".ddl")[i]).val();
break;
}
} else {
if ($($(".ddl")[i]).val() == -1) {
alert("请先选择一个选项");
return;
} else {
ddlValue = $($(".ddl")[i]).val();
break;
}
}
}
alert(ddlValue);
} </script></head>
<body>
<form id="form1" runat="server">
<div id="myDiv">
<select id="ddl1" class="ddl">
</select>
</div>
<input type="button" value="取值" onclick="GetDropDownListValue();" />
</form>
</body>
</html>
一般处理程序:<%@ WebHandler Language="C#" Class="loadClass" %>using System;
using System.Web;using System.Data;
using System.Text;
using System.Data.SqlClient;public class loadClass : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
int strId = Convert.ToInt32(context.Request.QueryString["ddlId"]);
string strSQL = "select * from QuestionType where QuTypeFatherId=" + strId + " order by QuTypeId asc ";
SqlConnection con = new SqlConnection(@"data source=.;initial catalog=MyTestDataBase;user id=sa;password=19831016");
SqlDataAdapter adp = new SqlDataAdapter(strSQL, con);
DataTable dt = new DataTable();
con.Open();
adp.Fill(dt);
con.Close(); StringBuilder strClass = new StringBuilder();
if (dt.Rows.Count != 0)
{
strClass.Append("[");
for (int i = 0; i < dt.Rows.Count; i++)
{
strClass.Append("{");
strClass.Append("\"ID\":\"" + dt.Rows[i]["QuTypeId"].ToString() + "\",");
strClass.Append("\"Cname\":\"" + dt.Rows[i]["QuTypeName"].ToString() + "\""); if (i != dt.Rows.Count - 1)
{
strClass.Append("},");
}
}
strClass.Append("}");
strClass.Append("]");
}
else
{
strClass = strClass.Append("");
}
context.Response.ContentType = "application/json";
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.Write(strClass.ToString());
context.Response.End(); } public bool IsReusable
{
get
{
return false;
}
}}
数据库:create database MyTestDataBase
gouse MyTestDataBase
goif exists(select * from sysobjects where name = 'QuestionType')
drop table QuestionType
gocreate table QuestionType
(
QuTypeId int primary key identity(1, 1),
QuTypeFatherId int not null,
QuTypeName varchar(50) unique not null,
QuTypeIsDel bit default(0) not null
)
goinsert into QuestionType values(0, '生活',0)
insert into QuestionType values(0, '电脑',0)
insert into QuestionType values(1, '服装',0)
insert into QuestionType values(1, '美容',0)
insert into QuestionType values(1, '美食',0)
insert into QuestionType values(1, '购房',0)
insert into QuestionType values(2, '装机',0)
insert into QuestionType values(2, '硬件',0)
insert into QuestionType values(2, '软件',0)
insert into QuestionType values(2, '互联网',0)
insert into QuestionType values(8, 'CPU',0)
insert into QuestionType values(8, '光驱',0)
insert into QuestionType values(8, '显卡',0)
insert into QuestionType values(8, '内存',0)
insert into QuestionType values(13, 'NVIDIA',0)
insert into QuestionType values(13, 'ATI',0)
insert into QuestionType values(13, '集成显卡',0)
insert into QuestionType values(15, 'geForce',0)
insert into QuestionType values(15, 'MX系列',0)
insert into QuestionType values(18, '6series',0)
insert into QuestionType values(18, '7series',0)
insert into QuestionType values(18, '8series',0)
insert into QuestionType values(18, '9series',0)
insert into QuestionType values(22, '8300',0)
insert into QuestionType values(22, '8300GT',0)
insert into QuestionType values(22, '8500',0)
insert into QuestionType values(22, '8500GT',0)
insert into QuestionType values(22, '8600',0)
insert into QuestionType values(22, '8600GT',0)
insert into QuestionType values(22, '8800',0)
insert into QuestionType values(22, '8800GT',0)
insert into QuestionType values(16, 'HD5450',0)
insert into QuestionType values(16, 'HD5770',0)
insert into QuestionType values(16, 'HD5970',0)
insert into QuestionType values(16, 'HD5670',0)
insert into QuestionType values(16, 'HD5570',0)
insert into QuestionType values(16, 'HD5870',0)select * from QuestionType