第一个是方法是事务化处理一连串的SQL语句,这些语句只做数据库数据处理,不取数据。
第二个是从数据库中取数据,放在DATASET

解决方案 »

  1.   

    你是哪句不会呀?这么长怎么分析呀!1、SqlConnection myCn = new SqlConnection(strConn);
    SqlCommand myCmd = new SqlCommand();
    int j=strSQLs.Length; try
    {
    myCn.Open();
    }
    catch(System.Data.SqlClient.SqlException e)
    {
    throw new Exception(e.Message);
    }strConn联接字符串,第一句表示要打开指定的数据库,然后试着打开数据库,如果在打开过程中出错,就抛出异常:e.Message
      

  2.   

    SqlTransaction myTrans = myCn.BeginTransaction(); try
    {
    myCmd.Connection = myCn;
    myCmd.Transaction = myTrans; foreach(string str in strSQLs)
    {
    myCmd.CommandText = str;
    myCmd.ExecuteNonQuery();
    }
    myTrans.Commit();
    return 0;
    }
    catch(System.Data.SqlClient.SqlException e)
    {
    myTrans.Rollback();
    throw new Exception(e.Message);
    }
    finally
    {
    myCmd.Dispose();
    myCn.Close();
    }定义一笔交易,(数据库概念),如果一个操作成功,而其它操作因掉电等不成功,则执行回滚,使所有操作回到没有执行的地方。最后关闭数据库联接。
      

  3.   

    protected static int ExecuteSqls(string[] strSQLs) // 执行sql语句,参数为sql语句数组
    {
    SqlConnection myCn = new SqlConnection(strConn);//Sql连接的一个实例
    SqlCommand myCmd = new SqlCommand(); //SqlCommand的一个实例
    int j=strSQLs.Length;//数组的维数 try//try{}catch{}异常处理语句
    {
    myCn.Open(); //打开数据库连接
    }
    catch(System.Data.SqlClient.SqlException e)
    {
    //捕捉到异常,就抛出异常
    throw new Exception(e.Message);
    }
    //事务处理
    SqlTransaction myTrans = myCn.BeginTransaction(); try
    { //下面也差不多与上面相同
    myCmd.Connection = myCn;
    myCmd.Transaction = myTrans; foreach(string str in strSQLs)
    {
    //遍历数组
    myCmd.CommandText = str;
    myCmd.ExecuteNonQuery();
    }
    myTrans.Commit();
    return 0;
    }
    catch(System.Data.SqlClient.SqlException e)
    {
    myTrans.Rollback();
    throw new Exception(e.Message);
    }
    finally
    {
    //释放sqlcommand资源,关闭数据库连接
    myCmd.Dispose();
    myCn.Close();
    }
    }//取得DataSet的方法
    protected static DataSet ExecuteSql4Ds(string strSQL)
    {
    SqlConnection myCn = new SqlConnection(strConn);
    try
    {
    myCn.Open();
    //有关SqlDataAdapter的用法详见msdn
    SqlDataAdapter sda = new SqlDataAdapter(strSQL,myCn);
    DataSet ds = new DataSet("ds");
    //SqlDataAdapter充入dataset。
    sda.Fill(ds);
    return ds;
    }
    catch(System.Data.SqlClient.SqlException e)
    {
    throw new Exception(e.Message);
    }
    finally
    {
    myCn.Close();
    }
    }
      

  4.   


    protected static int ExecuteSqls(string[] strSQLs)
    参数是一个字符串数组,里面存放的是SQL语句
    功能是实现对这一批SQL语句的批量执行,是放在事务中的,事务知道吧.!!!!
    返回值是一个整型值,执行成功返回0,否则抛出异常protected static DataSet ExecuteSql4Ds(string strSQL)
    参数是一个SQL语句
    功能是返回一个数据集
      

  5.   

    应该是三层结构的产物
    第一个函数运行一个传入的sql事务序列
    第二个函数根据传入的sql取一个dataset