当前位置:中国站长下载文章中心网页编程.NET编程 → 在ASP.NET程序中创建唯一序号

在ASP.NET程序中创建唯一序号

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 9:46:25
ateDataReader(string szSql)
  {
  OleDbCommand cmd = new OleDbCommand(szSql,m_dbConn);
  OleDbDataReader dr= cmd.ExecuteReader();
  cmd.Dispose();
  return dr;
  }
  /// <summary>
  /// 通过SQL查询语句,返回第一行结果,可以用于执行类似与Select Count(*)的语句
  /// </summary>
  /// <param name="szSql">SQL语句</param>
  /// <returns>返回对象</returns>
  public object ExecuteScalar(string szSql)
  {
  OleDbCommand idCMD = new OleDbCommand(szSql, m_dbConn);
  object rObj = idCMD.ExecuteScalar();
  idCMD.Dispose();
  return rObj;
  }
  /// <summary>
  /// 调用OleDbCommand 的 ExecuteNonQuery
  /// </summary>
  /// <param name="szSql"></param>
  /// <returns></returns>
  public int ExecuteNonQuery(string szSql)
  {
  OleDbCommand idCMD = new OleDbCommand(szSql, m_dbConn);
  int iRet = idCMD.ExecuteNonQuery();
  idCMD.Dispose();
  return iRet;
  }
  /// <summary>
  /// 创建查询用DataSet对象
  /// </summary>
  /// <param name="szSql">查询SQL语句</param>
  /// <param name="szTabName">表名称</param>
  /// <returns>已经被填充的DataSet对象</returns>
  public DataSet CreateSelectDataSet(string szSql,string szTabName)
  {
  m_dbAdapter.SelectCommand = new OleDbCommand(szSql,m_dbConn);
  DataSet ds = new DataSet();
  m_dbAdapter.Fill(ds,szTabName);
  return ds;
  }
  /// <summary>
  /// 通过查询语句 创建DataSet对象,返回的对象用于执行插入操作
  /// </summary>
  /// <param name="szSelectSql">SQL语句</param>
  /// <param name="szTabName">表名称</param>
  /// <returns>用于插入的DataSet对象</returns>
  public DataSet CreateInsertDataSet_bySelect(string szSelectSql,string szTabName)
  {
  m_dbAdapter.SelectCommand = new OleDbCommand(szSelectSql, m_dbConn);
  
  OleDbCommandBuilder cb = new OleDbCommandBuilder(m_dbAdapter);
  
  DataSet ds = new DataSet();
  m_dbAdapter.Fill(ds, szTabName);
  m_dbAdapter.RowUpdated += new OleDbRowUpdatedEventHandler(OnRowUpdated_Inserted);
  return ds;
  }
  /// <summary>
  /// 通过查询语句 创建DataSet对象,返回的对象用于执行更新操作
  /// </summary>
  /// <param name="szSelectSql">SQL语句</param>
  /// <param name="szTabName">表名称</param>
  /// <returns>用于更新的DataSet对象</returns>
  public DataSet CreateUpdateDataSet_bySelect(string szSelectSql,string szTabName)
  {
  m_dbAdapter.SelectCommand = new OleDbCommand(szSelectSql, m_dbConn);
  
  OleDbCommandBuilder cb = new OleDbCommandBuilder(m_dbAdapter);
  
  DataSet ds = new DataSet();
  m_dbAdapter.Fill(ds, szTabName);
  return ds;
  //m_dbAdapter.RowUpdated += new OleDbRowUpdatedEventHandler(OnRowUpdated_Update);
  }
  //----------------私有事件处理
  /// <summary>
  /// 处理数据插入的更新事件
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="args"></param>
  protected void OnRowUpdated_Inserted(object sender, OleDbRowUpdatedEventArgs args)
  {
  OleDbCommand idCMD = new OleDbCommand("SELECT @@IDENTITY", m_dbConn);
  
  if (args.StatementType == StatementType.Insert)
  {
  object rObj = idCMD.ExecuteScalar();
  if(rObj == null)
  m_iDbIdentity =-1;
  else if( rObj.ToString() !="")
  m_iDbIdentity = Int32.Parse(rObj.ToString());
  else
  m_iDbIdentity =-1;
  }
  idCMD.Dispose();
  }
  //------------公共属性
  /// <summary>
  /// 在插入数据后获取新数据行中自增字段的值,目前只能支持一个自增字段
  /// </summary>
  public Int32 DbIdentity {get{return m_iDbIdentity;} }
  /// <summary>
  /// 数据库连接字符串,保存在web.config文件中 <appSettings>节
  /// </summary>
  public string DbString {get{return System.Configuration.ConfigurationSettings.AppSettings["dbStr"];}}
  
  //------------公共变量
  /// <summary>
  /// 数据库连接
  /// </summary>
  public OleDbConnection m_dbConn;
  /// <summary>
  /// 查询Adapter
  /// </summary>
  public OleDbDataAdapter m_dbAdapter;
  public const String m_szRootUrl ="/copathway/toDo/";
  
  //---------- 私有变量
  /// <summary>
  /// 保存数据库插入是自增字段的值
  /// </summary>
  protected Int32 m_iDbIdentity =-1;
  protected bool m_fAutoDelConn = true;
  }
  }
  
  
  
  
  
  
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

上一页  [1] [2]