public static void DataBindToDataGrid(DataGrid dg, string sqlstr,System.Web.HttpRequest req ,System.Web.HttpResponse res)
{
AccessDataSource ads = DB.ConnectionToData(req,res);
ads.SelectCommand = sqlstr; dg.DataSource = ads;
dg.DataBind();
} public static void DataBindToDataGrid(DataGrid dg, String sqlstr, string TableName,System.Web.HttpRequest req ,System.Web.HttpResponse res)
{
DataSet ds = new DataSet();
OleDbDataAdapter dbada = new OleDbDataAdapter();
OleDbCommand odc = DB.CreateOleDbCommand(req,res);
odc.CommandText = sqlstr;
dbada.SelectCommand = odc;
dbada.Fill(ds, TableName); dg.DataSource = ds.Tables[TableName].DefaultView;
dg.DataBind();
odc.Connection.Close(); }
-------------------
上面的公共的函数我在下面的 页面文件里调用----------
private void bindDropDownList()
{
publicFunction.DataBindToDropDownList(this.ddlAtName, "select * from ArtType", "atName", "atID",
this.Request, this.Response); //publicFunction.DataBindToDataGrid(this.DataGrid1, "select * from artTypeDetail", "artTypeDetail", this.Request, this.Response); publicFunction.DataBindToDataGrid(this.DataGrid1, "select * from artTypeDetail", "artTypeDetail", this.Request, this.Response);
publicFunction.DataBindToDataGrid(this.DataGrid1, "select * from artTypeDetail", this.Request, this.Response); // 这里试用着两个来绑定,但还是不行
}
private void AddData()
{
OleDbConnection con = DB.CreateConnection(this.Request);
OleDbCommand odc = new OleDbCommand();
odc.Connection = con;
String ss = "insert into ArtTypeDetail(atdID,atid,atName,atdName,atdDesc)values(";
ss = ss + "@atdID,@atid,@atName,@atdName,@atdDesc)"; odc.CommandText = ss;
odc.CommandType = CommandType.Text; odc.Parameters.Add(new OleDbParameter("@atdID",OleDbType.Char,10));
odc.Parameters["@atdID"].Value = this.tbAtdID.Text.Trim(); odc.Parameters.Add(new OleDbParameter("@atid",OleDbType.Char,10));
odc.Parameters["@atid"].Value = this.ddlAtName.SelectedValue.ToString(); odc.Parameters.Add(new OleDbParameter("@atName",OleDbType.Char,20));
odc.Parameters["@atName"].Value = this.ddlAtName.SelectedItem.ToString(); odc.Parameters.Add(new OleDbParameter("@atdName",OleDbType.Char,20));
odc.Parameters["@atdName"].Value = this.tbAtdName.Text.Trim(); odc.Parameters.Add(new OleDbParameter("@atdDesc",OleDbType.Char,50));
odc.Parameters["@atdDesc"].Value = this.tbAtdDesc.Text.Trim();
DB.ExecSQL(odc, this.Request, this.Response, this.Session);
}
// 这里是新增
protected void btnNew_Click(object sender, EventArgs e)
{
this.AddData();
this.bindDropDownList();
}
不管是新增还是修改都不能马上刷新过来
{
AccessDataSource ads = DB.ConnectionToData(req,res);
ads.SelectCommand = sqlstr; dg.DataSource = ads;
dg.DataBind();
} public static void DataBindToDataGrid(DataGrid dg, String sqlstr, string TableName,System.Web.HttpRequest req ,System.Web.HttpResponse res)
{
DataSet ds = new DataSet();
OleDbDataAdapter dbada = new OleDbDataAdapter();
OleDbCommand odc = DB.CreateOleDbCommand(req,res);
odc.CommandText = sqlstr;
dbada.SelectCommand = odc;
dbada.Fill(ds, TableName); dg.DataSource = ds.Tables[TableName].DefaultView;
dg.DataBind();
odc.Connection.Close(); }
-------------------
上面的公共的函数我在下面的 页面文件里调用----------
private void bindDropDownList()
{
publicFunction.DataBindToDropDownList(this.ddlAtName, "select * from ArtType", "atName", "atID",
this.Request, this.Response); //publicFunction.DataBindToDataGrid(this.DataGrid1, "select * from artTypeDetail", "artTypeDetail", this.Request, this.Response); publicFunction.DataBindToDataGrid(this.DataGrid1, "select * from artTypeDetail", "artTypeDetail", this.Request, this.Response);
publicFunction.DataBindToDataGrid(this.DataGrid1, "select * from artTypeDetail", this.Request, this.Response); // 这里试用着两个来绑定,但还是不行
}
private void AddData()
{
OleDbConnection con = DB.CreateConnection(this.Request);
OleDbCommand odc = new OleDbCommand();
odc.Connection = con;
String ss = "insert into ArtTypeDetail(atdID,atid,atName,atdName,atdDesc)values(";
ss = ss + "@atdID,@atid,@atName,@atdName,@atdDesc)"; odc.CommandText = ss;
odc.CommandType = CommandType.Text; odc.Parameters.Add(new OleDbParameter("@atdID",OleDbType.Char,10));
odc.Parameters["@atdID"].Value = this.tbAtdID.Text.Trim(); odc.Parameters.Add(new OleDbParameter("@atid",OleDbType.Char,10));
odc.Parameters["@atid"].Value = this.ddlAtName.SelectedValue.ToString(); odc.Parameters.Add(new OleDbParameter("@atName",OleDbType.Char,20));
odc.Parameters["@atName"].Value = this.ddlAtName.SelectedItem.ToString(); odc.Parameters.Add(new OleDbParameter("@atdName",OleDbType.Char,20));
odc.Parameters["@atdName"].Value = this.tbAtdName.Text.Trim(); odc.Parameters.Add(new OleDbParameter("@atdDesc",OleDbType.Char,50));
odc.Parameters["@atdDesc"].Value = this.tbAtdDesc.Text.Trim();
DB.ExecSQL(odc, this.Request, this.Response, this.Session);
}
// 这里是新增
protected void btnNew_Click(object sender, EventArgs e)
{
this.AddData();
this.bindDropDownList();
}
不管是新增还是修改都不能马上刷新过来
解决方案 »
- 如何配置HttpHandler和HttpModule
- listview的传参问题
- 动态生成文本框并录入数据库的问题
- 通过customErrors定制的错误页面,能捕获到错误信息的具体内容吗?
- 请教解决TreeView 刷新问题!
- 急!FormView 绑定 DataTable ,如何CRUD?
- 一个综合性商城,关于数据库结构的设计
- 写个循环将26个字母绑定到DropdownList,问题出在哪儿????
- 关于一个用户名在一台机器登陆后,不允许在另一台机器再登陆了的问题
- DataList怎么绑定数据?
- 谁能给个aspnetpager6.0 vs2005的实例,包括CS文件和存储过程
- 编译器错误信息: CS0122: “SqlDB.ProductsDB”不可访问,因为它受保护级别限制
---------------------
protected void DataGrid1_CancelCommand(object source, DataGridCommandEventArgs e)
{
this.DataGrid1.EditItemIndex = -1;
this.bindDropDownList();
}
protected void DataGrid1_DeleteCommand(object source, DataGridCommandEventArgs e)
{
if (( e.Item.ItemType == ListItemType.AlternatingItem)
|| (e.Item.ItemType == ListItemType.Item))
{
String atdID = e.Item.Cells[0].Text.ToString().Trim();
String ss = "select count(*) from Article where AtdID = '" + atdID + "'";
OleDbCommand odc = DB.CreateOleDbCommand(this.Request, this.Response);
odc.CommandText = ss;
int count = (int)odc.ExecuteScalar();
if (count >= 1)
{
publicFunction.ShowMessage("已存在该类别的文章,不能删除", this.Response);
odc.Connection.Close();
return;
}
else
{
ss = "delete * from artTypeDetail where atdID = '" + atdID + "'";
DB.ExecSQL(ss, this.Request, this.Response, this.Session);
odc.Connection.Close();
this.bindDropDownList();
} }
}
protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
{
if ((e.Item.ItemType == ListItemType.AlternatingItem)
|| (e.Item.ItemType == ListItemType.Item))
{
this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
this.bindDropDownList();
}
}
protected void DataGrid1_UpdateCommand(object source, DataGridCommandEventArgs e)
{
//if (e.Item.ItemType == ListItemType.EditItem)
{
String atdID = e.Item.Cells[0].Text.ToString().Trim();
String ss = "update artTypeDetail set atdName=@atdName,atID= @atID,atName=@atName,atdDesc = @atdDesc";
ss = ss + " where atdID = @atdID"; OleDbCommand odc = DB.CreateOleDbCommand(this.Request, this.Response);
odc.CommandText = ss; odc.Parameters.Add(new OleDbParameter("@atdName", OleDbType.Char, 20));
String atdName = ((TextBox)e.Item.Cells[1].Controls[0]).Text.ToString().Trim();
odc.Parameters["@atdName"].Value = atdName; odc.Parameters.Add(new OleDbParameter("@atid", OleDbType.Char, 10));
DropDownList ddl = ((DropDownList)e.Item.FindControl("ddlAtType"));
odc.Parameters["@atID"].Value = ddl.SelectedValue.ToString().Trim();
odc.Parameters.Add(new OleDbParameter("@atName", OleDbType.Char, 20));
odc.Parameters["@atName"].Value = ddl.SelectedItem.ToString().Trim(); odc.Parameters.Add(new OleDbParameter("@atdDesc", OleDbType.Char, 50));
String atdDesc = ((TextBox)e.Item.Cells[3].Controls[0]).Text.ToString().Trim();
odc.Parameters["@atdDesc"].Value = atdDesc;
odc.Parameters.Add(new OleDbParameter("@atdID", OleDbType.Char, 10)); odc.Parameters["@atdID"].Value = atdID;
DB.ExecSQL(odc, this.Request, this.Response, this.Session);
//this.DataGrid1.EditItemIndex = -1;
this.bindDropDownList();
string s = this.Request.RawUrl;
this.Response.Redirect(s, true);
this.Response.End();
}
} protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem)
{
DropDownList ddl = ((DropDownList)e.Item.FindControl("ddlAtType"));
publicFunction.DataBindToDropDownList(ddl, "select * from artType", "artType",
this.Request, "atName", "atID"); Label l = ((Label)e.Item.FindControl("lAtID")); String ss1 = l.Text.Trim(); foreach (ListItem li in ddl.Items)
{
if (li.Text.Trim() == ss1)
{
li.Selected = true;
break;
}
} for (int i = 0; i < e.Item.Cells.Count; i++)
{
if (! e.Item.Cells[i].HasControls())
continue;
if (e.Item.Cells[i].Controls[0].GetType() == typeof(DropDownList))
continue;
try
{ TextBox tb = ((TextBox)e.Item.Cells[i].Controls[0]);
}
catch(Exception eee)
{
continue;
}
String ss = ((TextBox)e.Item.Cells[i].Controls[0]).Text.Trim();
((TextBox)e.Item.Cells[i].Controls[0]).Text = ss;
}
}
if ((e.Item.ItemType == ListItemType.AlternatingItem)
||(e.Item.ItemType == ListItemType.Item))
{
String ss1 = e.Item.Cells[0].Text.Trim();
LinkButton lb = ((LinkButton)e.Item.Cells[5].Controls[0]);
lb.Attributes.Add("onclick", "return confirm('确定要删除编号为:" + ss1 + "的记录吗?')");
}
}
谢谢大家