困扰一天的问题~~~~~~from表单里的值绑定到datagrid模板列中,提交表单,数据库无数据

X27794797 2006-04-13 03:12:43
有个表单,我想让表单里的值在提交后绑定到datagrid中的模板列里,我自己试着绑定了,但是提交表单后,数据库里并没有提交的数据
以下是后台代码:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;


namespace blue.guestbook
{
/// <summary>
/// index 的摘要说明。
/// </summary>
public class index : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label liuyan;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.TextBox txtName;
protected System.Web.UI.WebControls.TextBox txtWhere;
protected System.Web.UI.WebControls.TextBox txtWeb;
protected System.Web.UI.WebControls.TextBox txtEmail;
protected System.Web.UI.WebControls.TextBox txtQQ;
protected System.Web.UI.WebControls.TextBox txtSubject;
protected System.Web.UI.WebControls.TextBox txtContent;
protected System.Web.UI.WebControls.Label Label10;
protected System.Web.UI.WebControls.Button btnAdd;
protected System.Web.UI.WebControls.Button btnDel;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator2;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator3;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator5;
protected System.Web.UI.WebControls.Panel scriptpanel;
protected System.Web.UI.WebControls.Panel Panel1;
// protected System.Web.UI.WebControls.TextBox txtCheckCode;
// protected System.Web.UI.WebControls.Label lblMessage2;
protected System.Web.UI.WebControls.Label lblMessage;


private void Page_Load(object sender, System.EventArgs e)
{

if(!this.IsPostBack)
{
this.txtWhere.Text="";
this.txtWeb.Text="";
this.txtSubject.Text="";
this.txtQQ.Text="";
this.txtName.Text="";
this.txtEmail.Text="";
this.txtContent.Text="";
this.BindDg();


}
}

public void BindDg()
{

OleDbConnection Ocon=OleDbcon.CreateConnection();
string sel="select * from users";

OleDbDataAdapter oda =new OleDbDataAdapter(sel,Ocon);
Ocon.Open();

DataSet ds = new DataSet();
oda.Fill(ds,"users");

this.DataGrid1.DataSource=ds.Tables["users"].DefaultView;
this.DataGrid1.DataBind();
Ocon.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void btnAdd_Click(object sender, System.EventArgs e)
{

if(!this.IsValid)
{

string Name,Email,Web,QQ,Subject,Content,where;
Name=this.txtName.Text.ToString();
Email=this.txtEmail.Text.ToString();
Web=this.txtWeb.Text.ToString();
QQ=this.txtQQ.Text.ToString();
Subject=this.txtSubject.Text.ToString();
Content=this.txtContent.Text.ToString();
where=this.txtWhere.Text.ToString();

string strAdd="insert into users (user_name,user_email,user_web,user_qq,user_subject,user_content,k_xingzhi) values ('"+Name+"','"+Email+"','"+Web+"','"+QQ+"','"+Subject+"','"+Content+"','"+where+"')";
string con=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Inetpub\wwwroot\blue\guestbook\book.mdb;";
// string con="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"\\book.mdb;";

OleDbConnection Ocon=new OleDbConnection(con);
OleDbCommand cmd =new OleDbCommand(strAdd,Ocon);
Ocon.Open();
cmd.ExecuteNonQuery();
Ocon.Close();

Response.Redirect("index.aspx");

}
}

private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
this.DataGrid1.CurrentPageIndex=e.NewPageIndex;
this.BindDg();
}



}
}
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
X27794797 2006-04-13
  • 打赏
  • 举报
回复
我实在是没什么办法解决了,只好重新做一遍,现在刚刚把功能实现了,我仔细比较了前后做的2个文件的所有代码,可以说是一样的!!!!!!!!!!!汗~我~~~~~~~~~~~~~~~~~

麻烦大家了~十分感谢大家
jerrie_1 2006-04-13
  • 打赏
  • 举报
回复
1.建议LZ跟踪调试
2.抛出异常处理,看一下插入时是否正确处理
Ocon.Open();
try{
cmd.ExecuteNonQuery();
}
……
Ocon.Close();
X27794797 2006-04-13
  • 打赏
  • 举报
回复
Response.Redirect("index.aspx");
改成
this.BindDg();
试了,还是老样子~

数据库里我去看了,没有,只有原来设计数据库输入的几个数据!

读取用OleDbcon,插入的时候怎么不用OleDbcon?
以改为OleDbcon试验没什么作用,

绑定方法
<asp:Label id="lbtime" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"user_time") %>'>
</asp:Label>
这样应该没错吧

调试插入语句 无报错


好急啊~
nimeide1234567890 2006-04-13
  • 打赏
  • 举报
回复
ding
LoveCherry 2006-04-13
  • 打赏
  • 举报
回复
读取用OleDbcon,插入的时候怎么不用OleDbcon?
sql语句调试的时候看看是不是有错
Tom_Real 2006-04-13
  • 打赏
  • 举报
回复
你是如何知道数据没有插入成功的?
1、调试插入语句是否有错
2、绑定方法有问题
3、直接到数据库中去看是否插入成功
4、插入前没有验证(主键是否重复、各字段值是否有效等)
5、Response.Redirect("index.aspx");——如果是本页,直接调用绑定方法即可
webwait 2006-04-13
  • 打赏
  • 举报
回复
Response.Redirect("index.aspx");
改成
this.BindDg();
webwait 2006-04-13
  • 打赏
  • 举报
回复
OleDbConnection Ocon=OleDbcon.CreateConnection();
string sel="select * from users";

OleDbDataAdapter oda =new OleDbDataAdapter(sel,Ocon);
Ocon.Open();
你的Ocon的连接字符串呢?

62,266

社区成员

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

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

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

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