新闻发布系统中,修改新闻的页面,其中新闻大类和新闻小类都在数据库中,现在的问题是当我点一个新闻进行修改的时候,
比如,这个新闻是大类CC,小类cc,有时也有可能只有大类没有小类.现在我想在修改页面的列表框大类CC和小类cc处于选中状态.
后台代码如下.
OleDbConnection connstr = DBConnections.DBConnections.createConnection();
connstr.Open(); OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connstr;
cmd.CommandText = "Select * From Hover_News where ID=" + Request["ID"];
//cmd.CommandText = "delete Hover_News.[ID] FROM Hover_News where id=" + Request["ID"]; //cmd.ExecuteNonQuery();
DataSet dataset = new DataSet();
OleDbDataAdapter dr = new OleDbDataAdapter();
dr.SelectCommand = cmd;
dr.Fill(dataset); if (dataset.Tables.Count > 0)
{
if (dataset.Tables[0].Rows.Count > 0)
{
this.title.Text = dataset.Tables[0].Rows[0]["Title"].ToString();
//this.ClassNews.SelectedValue = dataset.Tables[0].Rows[0]["BigClassName"].ToString();
this.ClassNews.DataTextField = "BigClassName";
if (dataset.Tables[0].Rows.Count< 0 )
{
this.SmallClassNews.Enabled = false;
}
else
{
//this.SmallClassNews.SelectedValue = dataset.Tables[0].Rows[0]["SmallClassName"].ToString();
this.SmallClassNews.DataTextField ="SmallClassName";
}
this.person.Text=dataset.Tables[0].Rows[0]["User"].ToString();
this.zWeb.Text=dataset.Tables[0].Rows[0]["zWeb"].ToString();
this.time.Text = System.DateTime.Now.AddDays(0).ToString() ;
}
}
dataset.Dispose();
dataset = null;
connstr.Close();列表框ClassNews和SmallClassNews怎么获得数据
比如,这个新闻是大类CC,小类cc,有时也有可能只有大类没有小类.现在我想在修改页面的列表框大类CC和小类cc处于选中状态.
后台代码如下.
OleDbConnection connstr = DBConnections.DBConnections.createConnection();
connstr.Open(); OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connstr;
cmd.CommandText = "Select * From Hover_News where ID=" + Request["ID"];
//cmd.CommandText = "delete Hover_News.[ID] FROM Hover_News where id=" + Request["ID"]; //cmd.ExecuteNonQuery();
DataSet dataset = new DataSet();
OleDbDataAdapter dr = new OleDbDataAdapter();
dr.SelectCommand = cmd;
dr.Fill(dataset); if (dataset.Tables.Count > 0)
{
if (dataset.Tables[0].Rows.Count > 0)
{
this.title.Text = dataset.Tables[0].Rows[0]["Title"].ToString();
//this.ClassNews.SelectedValue = dataset.Tables[0].Rows[0]["BigClassName"].ToString();
this.ClassNews.DataTextField = "BigClassName";
if (dataset.Tables[0].Rows.Count< 0 )
{
this.SmallClassNews.Enabled = false;
}
else
{
//this.SmallClassNews.SelectedValue = dataset.Tables[0].Rows[0]["SmallClassName"].ToString();
this.SmallClassNews.DataTextField ="SmallClassName";
}
this.person.Text=dataset.Tables[0].Rows[0]["User"].ToString();
this.zWeb.Text=dataset.Tables[0].Rows[0]["zWeb"].ToString();
this.time.Text = System.DateTime.Now.AddDays(0).ToString() ;
}
}
dataset.Dispose();
dataset = null;
connstr.Close();列表框ClassNews和SmallClassNews怎么获得数据
{
this.title.Text = dataset.Tables[0].Rows[0]["Title"].ToString();
//this.ClassNews.SelectedValue = dataset.Tables[0].Rows[0]["BigClassName"].ToString();
//
this.ClassNews.DataTextField = "BigClassName";
this.ClassNews.DataValueField = "BigClassName";
this.ClassNews.DataSource = GetYourBigClassFromDataBase(); // eg. maybe return DataTable
this.ClassNews.SelectedValue = dataset.Tables[0].Rows[0]["BigClassName"].ToString();
//
if (dataset.Tables[0].Rows.Count < 0 )
DataTable dt = PlatForm.NamedObjects.NonTransactionDatabaseAgent.ExecuteDataTable(strQuery);
gvMain.DataSource = dt;
gvMain.DataBind();
ClassColor color = new ClassColor();
color.GridViewColor(gvMain);
ddlPbase.DataSource = dt;
ddlPbase.DataValueField = "ID";
ddlPbase.DataTextField = "PBASENAME";
ddlPbase.DataBind();
string sql;
string SC=Request["SmallClassName"].ToString();
if (SC == null)
{
sql = "SELECT Hover_BigClass_New.BigClassID, Hover_BigClass_New.BigClassName, Hover_SmallClass_New.SmallClassID, Hover_SmallClass_New.SmallClassName, Hover_SmallClass_New.BigClassName, Hover_News.ID, Hover_News.BigClassName, Hover_News.SmallClassName FROM (Hover_BigClass_New INNER JOIN Hover_News ON Hover_BigClass_New.BigClassName = Hover_News.BigClassName) INNER JOIN Hover_SmallClass_New ON Hover_News.BigClassName = Hover_SmallClass_New.BigClassName where Hover_News.ID=" + Request["ID"];
}
else
{
sql = "SELECT Hover_BigClass_New.BigClassID, Hover_BigClass_New.BigClassName, Hover_SmallClass_New.SmallClassID, Hover_SmallClass_New.SmallClassName, Hover_SmallClass_New.BigClassName, Hover_News.ID, Hover_News.BigClassName, Hover_News.SmallClassName FROM (Hover_BigClass_New INNER JOIN Hover_News ON Hover_BigClass_New.BigClassName = Hover_News.BigClassName) INNER JOIN Hover_SmallClass_New ON Hover_News.BigClassName = Hover_SmallClass_New.BigClassName where Hover_SmallClass_New.SmallClassName='" + SC + "' and Hover_News.ID=" + Request["ID"];
}
OleDbConnection connstr = DBConnections.DBConnections.createConnection();
connstr.Open(); OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connstr;
cmd.CommandText = sql; DataSet daset = new DataSet();
OleDbDataAdapter ol = new OleDbDataAdapter();
ol.SelectCommand = cmd;
ol.Fill(daset); if (daset.Tables[0].Rows.Count > 0)
{
ClassNews.AutoPostBack = true;
ClassNews.DataSource = daset;
ClassNews.DataTextField = "BigClassName";
ClassNews.DataValueField = "BigClassID";
ClassNews.DataBind(); SmallClassNews.Enabled = true;
SmallClassNews.DataSource = daset;
SmallClassNews.DataTextField = daset.Tables[0].Rows[0]["SmallClassName"].ToString();
SmallClassNews.DataValueField = daset.Tables[0].Rows[0]["SmallClassID"].ToString();
SmallClassNews.DataBind(); }
else
{
ClassNews.AutoPostBack = false;
}
ol.Dispose();
ol = null;
connstr.Close();
错误提示::
DataBinding:“System.Data.DataRowView”不包含名为“BigClassName”的属性。
我用的是多表查询应该不存在这个问题,也是我的方法是错的..
高手们请指点一下.......
SmallClassNews.DataTextField = daset.Tables[0].Rows[0]["SmallClassName"].ToString();
SmallClassNews.DataValueField = daset.Tables[0].Rows[0]["SmallClassID"].ToString(); 同上边一样.也是会出现同样的问题,不明白,多表查询为什么还会出现不包含名为“BigClassName”的属性。,难道现在查找的表不是Hover_News吗,就算不是他们之间也关联着啊.请高手指点...
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ this.bindtopDL();
} this.time.Text = System.DateTime.Now.AddDays(0).ToString();
}
private void bindtopDL()
{
string sql;
string SC = Request["SmallClassName"].ToString();
if (SC == null)
{
sql = "SELECT * FROM (Hover_BigClass_New INNER JOIN Hover_News ON Hover_BigClass_New.BigClassName = Hover_News.BigClassName) INNER JOIN Hover_SmallClass_New ON Hover_News.BigClassName = Hover_SmallClass_New.BigClassName where Hover_News.ID=" + Request["ID"];
}
else
{
sql = "SELECT * FROM (Hover_BigClass_New INNER JOIN Hover_News ON Hover_BigClass_New.BigClassName = Hover_News.BigClassName) INNER JOIN Hover_SmallClass_New ON Hover_News.BigClassName = Hover_SmallClass_New.BigClassName where Hover_SmallClass_New.SmallClassName='" + SC + "' and Hover_News.ID=" + Request["ID"];
} //string sql = "SELECT Hover_News.ID, Hover_News.BigClassName, Hover_News.SmallClassName, Hover_BigClass_New.BigClassID, Hover_BigClass_New.BigClassName, Hover_SmallClass_New.SmallClassID, Hover_SmallClass_New.SmallClassName, Hover_SmallClass_New.BigClassName, Hover_News.Title FROM (Hover_BigClass_New INNER JOIN Hover_News ON Hover_BigClass_New.BigClassName = Hover_News.BigClassName) INNER JOIN Hover_SmallClass_New ON Hover_News.BigClassName = Hover_SmallClass_New.BigClassName where ID=143 and Hover_SmallClass_New.SmallClassName='时尚资讯'";
OleDbConnection connstr = DBConnections.DBConnections.createConnection();
connstr.Open(); OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connstr;
cmd.CommandText = sql; DataSet daset = new DataSet();
OleDbDataAdapter ol = new OleDbDataAdapter();
ol.SelectCommand = cmd;
ol.Fill(daset); if (daset.Tables[0].Rows.Count > 0)
{
ClassNews.AutoPostBack = true;
ClassNews.DataSource = daset;
ClassNews.DataTextField = "BigClassName";
ClassNews.DataValueField = "BigClassID";
ClassNews.DataBind(); //SmallClassNews.Enabled = true;
SmallClassNews.DataSource = daset;
SmallClassNews.DataTextField = "SmallClassName";
SmallClassNews.DataValueField = "SmallClassID";
SmallClassNews.DataBind(); }
else
{
ClassNews.AutoPostBack = false;
}
ol.Dispose();
ol = null;
daset.Dispose();
daset = null;
connstr.Close();
}
Hover_News表字段如下ID,Title,Content,BigClassName,SmallClassName,User,zWeb,Time
Hover_BigClass_New字段如下:BigClassID,BigID,BigClassName
Hover_SmallClass_New字段如下:SmallClassID,SmallClassName,BigClassName
查询的就是这三个表..高手们帮我看看,到底是哪里不对,谢谢
没有小类.现在修改新闻,大类和小类显示相应的数据.也可以改变大类和小类.现在问题就出在点一条新闻进行修改小类和大类的显示上相应的数据上.,后台代码如10楼,不过好像思路有点不对.这样出来的数据只是一条大类和小类.前台代码贴出...
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
新闻标题<asp:TextBox ID="title" runat="server"></asp:TextBox>
<br />
<br />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ClassNews" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<fieldset>
<legend></legend>
新闻类别
<asp:DropDownList ID="ClassNews" runat="server" Height="23px" Width="86px"
AutoPostBack="True" OnSelectedIndexChanged="ClassNews_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="SmallClassNews" runat="server" Height="23px" Width="86px">
</asp:DropDownList>
<br /> <br />
<br />
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
新闻内容
<cc1:HtmlEditor ID="HtmlEditor1" runat="server" TF_EditHtml="1" TF_UpTu="1" ResourcesPath="HtmlEditor" /> <br />
<br />
<br />
<br />
发布人<asp:TextBox ID="person" runat="server"></asp:TextBox>
<br />
<br />
摘录网址<asp:TextBox ID="zWeb" runat="server"></asp:TextBox> <br />
<br />
录入时间<asp:TextBox ID="time" runat="server" ReadOnly="True"></asp:TextBox>
<br />
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="提交" onclick="Button1_Click" />
<br />
<br />
</div>
</form>
后台代码如10楼...
public partial class admins_editnews : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ //this.bindtopDL();
show();
bindsubDL();
} this.time.Text = System.DateTime.Now.AddDays(0).ToString();
}
//private void bindtopDL()
//{
// OleDbConnection connstr = DBConnections.DBConnections.createConnection();
// connstr.Open(); // OleDbCommand cmd = new OleDbCommand();
// cmd.Connection = connstr;
// cmd.CommandText = "SELECT * FROM [Hover_BigClass_New]";
// DataSet daset = new DataSet();
// OleDbDataAdapter ol = new OleDbDataAdapter();
// ol.SelectCommand = cmd;
// ol.Fill(daset); // if (daset.Tables[0].Rows.Count > 0)
// {
// ClassNews.AutoPostBack = true;
// ClassNews.DataSource = daset;
// ClassNews.DataTextField = "BigClassName";
// ClassNews.DataValueField = "BigClassID";
// ClassNews.DataBind(); // }
// else
// {
// ClassNews.AutoPostBack = false;
// }
// ol.Dispose();
// ol = null;
// connstr.Close();
//} private void bindsubDL()
{
if (this.ClassNews.SelectedItem.ToString() != "")
{
OleDbConnection connstr = DBConnections.DBConnections.createConnection();
connstr.Open(); OleDbCommand cmd1 = new OleDbCommand();
cmd1.Connection = connstr;
cmd1.CommandText = "Select * From Hover_SmallClass_New where BigClassName='" + ClassNews.SelectedItem.ToString() + "'"; DataSet ds1 = new DataSet();
OleDbDataAdapter dsda = new OleDbDataAdapter();
dsda.SelectCommand = cmd1;
dsda.Fill(ds1); if (ds1.Tables[0].Rows.Count > 0)
{ SmallClassNews.Enabled = true;
SmallClassNews.DataSource = ds1;
SmallClassNews.DataTextField = "SmallClassName";
SmallClassNews.DataValueField = "SmallClassID";
SmallClassNews.DataBind(); }
else
{
SmallClassNews.Enabled = false; }
ds1.Dispose();
ds1 = null;
connstr.Close();
}
else
{ SmallClassNews.Enabled = false;
}
} protected void ClassNews_SelectedIndexChanged(object sender, System.EventArgs e)
{
//this.bindtopDL();
this.bindsubDL();
}
//protected void ClassNews_OnClick(object sender, System.EventArgs e)
//{
// this.bindtopDL();
//}
//protected void ClassNews_OnFoucsMouseOver(object sender, System.EventArgs e)
//{
// this.bindtopDL();
//} protected void Button1_Click(object sender, EventArgs e)
{
// string SmallClassName;
// if (this.SmallClassNews.Enabled == true)
// {
// SmallClassName = this.SmallClassNews.SelectedItem.ToString();
// }
// else
// {
// SmallClassName = "";
// }
// string title = this.title.Text;
// string BigClassName = this.ClassNews.SelectedItem.ToString(); // string content = this.HtmlEditor1.Text;
// string person = this.person.Text;
// string zWeb = this.zWeb.Text;
// string time = this.time.Text; // OleDbConnection connstr = DBConnections.DBConnections.createConnection();
// connstr.Open(); // OleDbCommand cmd = new OleDbCommand();
// cmd.Connection = connstr;
// cmd.CommandText = "INSERT INTO Hover_News ([Title], [Content], [BigClassName], [SmallClassName], [User], [zWeb],[Time]) VALUES ('" + title + "','" + content + "','" + BigClassName + "','" + SmallClassName + "','" + person + "','" + zWeb + "','" + time + "')"; // cmd.ExecuteNonQuery();
// Response.Write("<script language='javascript'>alert('新闻添加成功!');window.location.href='NewManage.aspx';</script>"); // connstr.Close();
} protected void show()
{
OleDbConnection connstr = DBConnections.DBConnections.createConnection();
connstr.Open(); OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connstr;
cmd.CommandText = "Select * From Hover_News where ID=" + Request["ID"]; DataSet dataset = new DataSet();
OleDbDataAdapter dr = new OleDbDataAdapter();
dr.SelectCommand = cmd;
dr.Fill(dataset); if (dataset.Tables.Count > 0)
{
if (dataset.Tables[0].Rows.Count > 0)
{
this.title.Text = dataset.Tables[0].Rows[0]["Title"].ToString();
string classname=dataset.Tables[0].Rows[0]["BigClassName"].ToString();
string smallname = dataset.Tables[0].Rows[0]["SmallClassName"].ToString();
//////////////////////////////////////////////////////////////////////////
string sql;
sql = "SELECT * FROM Hover_BigClass_New"; OleDbCommand cmd1 = new OleDbCommand();
cmd1.Connection = connstr;
cmd1.CommandText = sql; DataSet daset = new DataSet();
OleDbDataAdapter ol = new OleDbDataAdapter();
ol.SelectCommand = cmd1;
ol.Fill(daset); if (daset.Tables.Count > 0)
{
if (daset.Tables[0].Rows.Count > 0)
{ ClassNews.AutoPostBack = true;
ClassNews.DataSource = daset;
ClassNews.DataTextField = "BigClassName";
ClassNews.DataValueField = "BigClassID";
ClassNews.DataBind(); if (daset.Tables[0].Rows[0]["BigClassName"].ToString() == classname.Trim());
{ //ClassNews.selectvalue.Selected = true;
ClassNews.SelectedItem.Text = classname.Trim();
//Response.Write("<script language='javascript'>alert('"+classname+"');</script>"); } } }
ol.Dispose();
ol = null;
daset.Dispose();
daset = null;
///////////////////////////////////////////////////////////////////////////// this.HtmlEditor1.Text = dataset.Tables[0].Rows[0]["Content"].ToString(); this.person.Text=dataset.Tables[0].Rows[0]["User"].ToString();
this.zWeb.Text=dataset.Tables[0].Rows[0]["zWeb"].ToString();
this.time.Text = System.DateTime.Now.AddDays(0).ToString() ;
}
}
dataset.Dispose();
dataset = null;
connstr.Close();
}
}