一般给数据库每添加一条记录就得打开一次数据库连接,如果要添加多条记录就得多次打开数据库,增加了系统资源的占用,影响了系统的运行速度,因此,可以先在内存中添加记录,完成后再对数据库更新,这样可大大提高系统资源的利用率。如何做到的呢?
一、定义一个函数,给它传送一个数据集参数:
public void updategrid_1(DataSet ds)
{
SqlCommand cmd = new SqlCommand("insert into grid_1(name,sex,age,weight) values(@name,@sex,@age,@weight)",cn);
cmd.Parameters.Add("@name",SqlDbType.Char,10,"name");
cmd.Parameters.Add("@sex", SqlDbType.Char, 10, "sex");
cmd.Parameters.Add("@age", SqlDbType.Char, 10, "age");
cmd.Parameters.Add("@weight", SqlDbType.Char, 10, "weight");
da = new SqlDataAdapter();
da.InsertCommand=cmd;
cn.Open();
da.Update(ds,common.Class1.table_grid_1);
cn.Close();
}
二,在按钮的单击事件中进行调用:
protected void Button1_Click(object sender, EventArgs e)
{
//方法1
// dataaccess.Class1 dac=new dataaccess.Class1();
// string sql = "insert into grid_1(name,sex,age,weight) values('"+this.TextBox1.Text+"','"+this.TextBox2.Text+"','"+this.TextBox3.Text+"','"+this.TextBox4.Text+"')";
// dac.executesql(sql);
//方法2
dataaccess.Class1 dac = new dataaccess.Class1();
DataSet ds = dac.getgrid_1();
DataRow dr = ds.Tables[0].NewRow();
dr["name"] = this.TextBox1.Text;
dr["sex"] = this.TextBox2.Text;
dr["age"] = this.TextBox3.Text;
dr["weight"] = this.TextBox3.Text;
ds.Tables[0].Rows.Add(dr);
dr = ds.Tables[0].NewRow();
dr["name"] = "aaa";
dr["sex"] = "bbb";
dr["age"] = "ccc";
dr["weight"] = "ddd";
ds.Tables[0].Rows.Add(dr);
dac.updategrid_1(ds);
binddata();
}
三、运行效果:
