SqlDataAdapter
此控件不需要用 conn.open() 还有关闭.此控件会自己管理相关连接
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable d = ds.Tables[0];
da.FillSchema(d, SchemaType.Mapped); 把sql 查到的表,和关系,约束都传递给da 为后面查找,删除,增加做准备 例子:
两个控件的完整例子(button1是增加,button2更新,button3删除)
private string cn = "server=127.0.0.1;Database=x;Trusted_connection=true";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
showtable(tb());
Label1.Text = string.Format("{0} {1}: ", "公", "司");
}
}
private void showmessagebox(string s)
{
ClientScript.RegisterStartupScript(this.GetType(), "", string.Format("", s));
}
//显示表数据
private void showtable(DataTable tb)
{
StringBuilder sb = new StringBuilder();
sb.Append("");
sb.Append("");
sb.Append("");
foreach (DataRow drow in tb.Rows)
{
sb.Append(string.Format("", drow[0].ToString().Trim(), drow[1].ToString().Trim(), drow[2].ToString().Trim(), drow[3].ToString().Trim(), drow[4].ToString().Trim()));
sb.Append(string.Format("", drow[0], drow[1], drow[2], drow[3]));
sb.Append("");
}
sb.Append("
| 公司 | 联系人 | email | 最后登陆 |
| {0} | {1} | {2} | {3} |
");
Literal1.Text = sb.ToString();
}
private SqlDataAdapter ada()
{
SqlConnection conn = new SqlConnection(cn);
string sql = "select top 10 company_name,connect_man,email,lasttime,id from company";
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
return da;
}
private DataTable tb()
{
SqlDataAdapter da = ada();
DataSet ds = new DataSet();
da.Fill(ds);
DataTable d = ds.Tables[0];
da.FillSchema(d, SchemaType.Mapped);
return d;
}
private void uptb(DataTable tb)
{
SqlDataAdapter da = ada();
SqlCommandBuilder sqlsb = new SqlCommandBuilder(da);
da.Update(tb);
}
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dtb = tb();
DataRow drow = dtb.NewRow();
drow[0] = TextBox1.Text.Trim();
drow[1] = TextBox2.Text.Trim();
drow[2] = TextBox3.Text.Trim();
drow[3] = string.Format("#{0}#", TextBox4.Text.Trim());
dtb.Rows.Add(drow);
uptb(dtb);
showtable(tb());
}
protected void Button2_Click(object sender, EventArgs e)
{
DataTable dtb = tb();
DataRow drow = dtb.Rows.Find(Convert.ToInt32(HiddenField1.Value));
drow[0] = TextBox1.Text.Trim();
drow[1] = TextBox2.Text.Trim();
drow[2] = TextBox3.Text.Trim();
drow[3] = string.Format("#{0}#", TextBox4.Text.Trim());
uptb(dtb);
showtable(tb());
}
protected void Button3_Click(object sender, EventArgs e)
{
DataTable dtb = tb();
DataRow drow = dtb.Rows.Find(Convert.ToInt32(HiddenField1.Value));
drow.Delete();
uptb(dtb);
showtable(tb());
}