supegong  

using System;
using System.Data.Odbc;
using System.Data;
namespace fybs.data
{
 /// <summary>
 /// dbObject 的摘要说明。
 /// </summary>
 public class DbObject
 {
  private string strConn;
  private OdbcConnection cn;

  public DbObject()
  {
   strConn = System.Configuration.ConfigurationSettings.AppSettings["VOUCHER"];
   cn = new OdbcConnection(strConn);
   
  }

  //生成带参数的Command
  private OdbcCommand BuildCommand(string procName,IDataParameter[] parameters)
  {
   OdbcCommand cmd = new OdbcCommand(procName,cn);
   
   foreach (OdbcParameter parameter in parameters)
   {
    cmd.Parameters.Add(parameter);
   }

   return cmd;
  }

  //生成带返回参数的Command
  private OdbcCommand BuildCommandRet(string procName,IDataParameter[] parameters)
  {
   OdbcCommand cmd = new OdbcCommand(procName,cn);
   OdbcParameter para = new OdbcParameter("ret",OdbcType.Int,4);

   cmd.Parameters.Add(para);
   cmd.Parameters[0].Direction = ParameterDirection.ReturnValue;
   
   foreach (OdbcParameter parameter in parameters)
   {
    cmd.Parameters.Add(parameter);
   }

   return cmd;
  }

  //返回DataSet
  protected DataSet createDs(string procName,IDataParameter[] parameters)
  {
   DataSet ds = new DataSet();

   cn.Open();

   OdbcDataAdapter da = new OdbcDataAdapter();
   OdbcCommand cmd= BuildCommand(procName,parameters);
   da.SelectCommand = cmd;
   da.Fill(ds);

   cn.Close();

   return ds;
  }
  //返回DataSet
  public DataSet createDs(string strSql)
  {
   DataSet ds = new DataSet();

   try
   {
 
    cn.Open();
    OdbcDataAdapter da = new OdbcDataAdapter();
    OdbcCommand cmd= new OdbcCommand(strSql,cn);
    da.SelectCommand = cmd;
    da.Fill(ds);
   }
   finally
   {
    cn.Close();
  
   }
   return ds;

  }
  //运行sql
  public int runSql(string strSql)
  {
   int intRet;
   try
   {
 
    cn.Open();
    OdbcCommand cmd= new OdbcCommand(strSql,cn);
    intRet = cmd.ExecuteNonQuery();
   }
   finally
   {
    cn.Close();
  
   }
   return intRet;
  }
        //运行sql
  public int runMisql(string strSql)
  {
   int intRet=0;
   try
   {
 
    cn.Open();
    OdbcCommand cmd= new OdbcCommand(strSql,cn);
    cmd.ExecuteNonQuery();
   }
   catch
   {
    intRet = -1;
   }
   finally
   {
    cn.Close();
   }
   return intRet;
  }
  //返回行
  public DataRow createRow(string strSql)
  {
   DataRow row;
   DataSet ds = new DataSet();

   try
   {
    cn.Open();

    OdbcDataAdapter da = new OdbcDataAdapter();
    OdbcCommand cmd= new OdbcCommand(strSql,cn);
    da.SelectCommand = cmd;
    da.Fill(ds);
   }
   finally
   {
    cn.Close();
   }
   

   if (ds.Tables[0].Rows.Count>0)
   {
    row = ds.Tables[0].Rows[0];
   }
   else
   {
    row = null;
   }
  
   return row;

   }

  //返回行
  protected DataRow createRow(string procName,IDataParameter[] parameters)
  {
   DataRow row;
            DataSet ds = new DataSet();

   cn.Open();


   OdbcDataAdapter da = new OdbcDataAdapter();
   OdbcCommand cmd= BuildCommand(procName,parameters);
   da.SelectCommand = cmd;
   da.Fill(ds);

   if (ds.Tables[0].Rows.Count>0)
   {
    row = ds.Tables[0].Rows[0];
   }
   else
   {
    row = null;
   }
  
   cn.Close();

   return row;

  }
  //单表保存
  protected int createResult(string procName,IDataParameter[] parameters)
  {
   int intRet;
   OdbcCommand cmd;

   try
   {
    cn.Open();
    cmd = BuildCommandRet(procName,parameters);
    
    cmd.ExecuteNonQuery();
   }
   finally
   {
    cn.Close();
   }
           
   intRet = Convert.ToInt16(cmd.Parameters["ret"].Value);

   return intRet;
  }
 }
}

posted on 2009-12-09 14:26  supegong  阅读(102)  评论(0)    收藏  举报