询问者
asp.net数据库无法更新

问题
-
using System;
using System.Collections;
using
System.Configuration;
using System.Data;
using System.Linq;
using
System.Web;
using System.Web.Security;
using System.Web.UI;
using
System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using
Business;
using Entity;
public partial class EgNewsEdit :
System.Web.UI.Page
{
NewsBusiness nb = new NewsBusiness();
NewsEntity ne = new NewsEntity();
protected void Page_Load(object sender,
EventArgs e)
{
Label2.Text = Convert.ToString(Session["newsid"]);
DataSet ds = nb.GetNewsInfoByID(Label2.Text);
TextBox1.Text =
ds.Tables[0].Rows[0][1].ToString();
TextBox2.Text =
ds.Tables[0].Rows[0][2].ToString();
TextBox3.Text =
ds.Tables[0].Rows[0][3].ToString();
TextBox4.Text =
ds.Tables[0].Rows[0][4].ToString();
FreeTextBox1.Text =
ds.Tables[0].Rows[0][5].ToString();
Label1.Text =
ds.Tables[0].Rows[0][6].ToString();
DropDownList1.Text =
ds.Tables[0].Rows[0][7].ToString();
DropDownList2.Text =
ds.Tables[0].Rows[0][8].ToString();
ImageButton1.ImageUrl =
ds.Tables[0].Rows[0][9].ToString();
DropDownList3.Text =
ds.Tables[0].Rows[0][10].ToString();
}
protected void
Button1_Click(object sender, EventArgs e)
{
ne.ID =
Convert.ToInt32(Label2.Text);
ne.Name = TextBox1.Text;
ne.Writer =
TextBox2.Text;
ne.Source = TextBox3.Text;
ne.Editor =
TextBox4.Text;
ne.Content = FreeTextBox1.Text;
ne.Time =
Label1.Text;
ne.Range = DropDownList1.Text;
ne.Classify =
DropDownList2.Text;
ne.Image = ImageButton1.ImageUrl;
ne.Hot =
DropDownList3.Text;
int count = nb.UpdateNews(ne);
if (count >=
0)
{
Response.Redirect("EgNewsList.aspx");
}
}
}
就是先从其他网页获取数据,点击Button1再更新到数据库,网页可以跳转,但Button1_Click无法将数据更新到数据库,求高手指点啊!谢谢了~- 已移动 ThankfulHeart 2012年9月23日 1:33 数据库更新问题 (发件人:.NET Framework 一般性问题讨论区)
全部回复
-
public int UpdateNews(NewsEntity ne)
{
string sqlText = "update tb_news set nname=@nname,nwriter=@nwriter,nsource=@nsource,neditor=@neditor,ncontent=@ncontent,ntime=@ntime,nrange=@nrange,nclassify=@nclassify,nimage=@nimage where nid=@nid";
string[] paras = { "@nid", "@nname", "@nwriter", "@nsource", "@neditor", "@ncontent", "@ntime","@nrange", "@nclassify", "@nimage"};
object[] values = { ne.ID,ne.Name,ne.Writer,ne.Source,ne.Editor,ne.Content,ne.Time,ne.Range,ne.Classify,ne.Image };
int count = da.ExecuteSql(sqlText, CommandType.Text, paras, values);
return count;
}更新数据库应该没有问题,在MultiView中可以用,不知道哪里出问题了。要是你说的方法代码应该怎么写呢?
-
da.ExecuteSql(sqlText, CommandType.Text, paras, values) 这是一个自定义的方法吧,具体内部的代码是怎么写的?
检查下数据库更新过程中是否有异常。
另外就是检查下你是否在更新后查看了正确的数据库。比如数据库是添加到程序中的,那么可能最终更新的数据库是在输出目录下的数据库而不是在project中的数据库。
至于dataadapter,你可以从msdn的文档开始学习,http://msdn.microsoft.com/zh-cn/library/ms254931(v=vs.100).aspx
Bob Wu [MSFT]
MSDN Community Support | Feedback to us