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;
}
}
}

浙公网安备 33010602011771号