62,046
社区成员
发帖
与我相关
我的任务
分享
//完整的
protected void btnOk_Click(object sender, EventArgs e)
{
IList<string> l = new List<string>();
for (int i = 0; i <this.DataList1.Items.Count; i++)
{
CheckBox c= (CheckBox)this.DataList1.Items[i].FindControl("CheckBox1");
TextBox tb = (TextBox)this.DataList1.Items[i].FindControl("TextBox1");
//下面几个TextBox省略
if(c.Checked)
{
l.Add("update 表 set='"+tb.Text+"' where id="+ this.DataList1.DataKeys[i].ToString());
}
}
SqlServerHelper.ExecuteSqlTran(l);
}
//数据库连接字符串(web.config来配置),可以动态更改SQLString支持多数据库.
public static string connectionString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
public static void ExecuteSqlTran(IList<string> SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (System.Data.SqlClient.SqlException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
protected void btnOk_Click(object sender, EventArgs e)
{
string upsql = "update 表 set=123 where id=";//省略其他SET
IList<string> l = new List<string>();
for (int i = 0; i <this.DataList1.Items.Count; i++)
{
CheckBox c= (CheckBox)this.DataList1.Items[i].FindControl("CheckBox1");
TextBox tb = (TextBox)this.DataList1.Items[i].FindControl("TextBox1");
//下面几个TextBox省略
if(c.Checked)
{
l.Add("update 表 set='"+tb.Text+"' where id="+ this.DataList1.DataKeys[i].ToString());
}
}
SqlServerHelper.ExecuteSqlTran(l);
}
SqlServerHelper.cs类库
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
public static void ExecuteSqlTran(IList<string> SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (System.Data.SqlClient.SqlException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
return;
dlDetail.DataSource = (new DAO()).GetTopNews();
dlDetail.DataBind();
}
protected void btnOk_Click(object sender, EventArgs e)
{
string str = "";
for (int i = 0; i < dlDetail.Items.Count; i++)
{
TextBox txt = dlDetail.Items[i].FindControl("txtNote") as TextBox;
str += txt.Text;
RadioButton r1 = dlDetail.Items[i].FindControl("btnR1") as RadioButton;
Response.Write("<script>alert('" + r1.Checked + "')</script>");
}
Response.Write("<script>alert('"+str+"')</script>");
}
//其实也不用 HiddenField 也可以
//这样
DataTable dt= Get2005Pager("testtab", "*", "id", "", this.AspNetPager1.PageSize, this.AspNetPager1.CurrentPageIndex, 1,out sss);
this.DataList1.DataSource = dt;
this.DataList1.DataKeyField = "id";//数据库里主键字段
this.DataList1.DataBind()
//获得
for (int i = 0; i <this.DataList1.Items.Count; i++)
{
string keyid = this.DataList1.DataKeys[i].ToString();
CheckBox t = (CheckBox)this.DataList1.Items[i].FindControl("CheckBox1");
if(t.Checked)
{
Response.Write("txtNode= " + t.Text);
Response.Write("r2= " + r2.Checked);
}
}