对两个数据表同时进行insert操作处理,对它们的插入操作要么全部成功,要么都插入失败,否则只插入一个表成功会引起数据库的不一致。很显然,这是一个事务处理(transcation),要么commit成功,要么则rollback。在代码中,利用C#中提供的Transcation类来实现,代码如下:
private void btn_submit_Click(object sender, System.EventArgs e)
{
string strconn = ConfigurationSettings.AppSettings["dsn"];
SqlConnection cnn = new SqlConnection(strconn);
SqlCommand cmd = new SqlCommand();
SqlTransaction transaction = null;
try
{
cnn.Open();
// 先插入分店shop表,再插入经理Manager表,并将其作为一个事务进行处理