今天看一个程序时碰到一段令我困惑的代码,这个程序本来连的是Access数据库。怎么会在这段程序中用到与连接SQL 数据库相关的类?而且在其它代码中多处出现了“DbBase”,不知这段代码要实现一个什么功能?作用是什么?小弟是新手刚刚接触ASP.NET,恳请各位高手指教,谢谢!
解决方案 »
- ASPxGridView 中的批量删除
- 跪求答案!XP sp3 系统错装了win2000的IIS6.0 现在无法使用IIS了 怎么办 急 急 急! 拜托各位大大了
- 跪求那个大哥给常来网的一个论坛帐号,想使用500分开通.net 2.0 那个大哥好心给点,
- asp.net如何实现对txt,word,pdf里面的内容实现全文检索
- DataList 问题
- 如何用语句打开一个新页面?
- 同志们请注意--我来送分了(全部分数送上)
- 请问在DataList里面嵌套一个DataGrid,如何对这个DataGrid进行编辑和更新?
- AssemblyInfo.cs 里的属性出现重复怎么办?
- web.config中如果有多个HttpHandler,怎么确定执行顺序?
- 怎样把数据库中表发值放入一个2维数组
- 为什么要将asp.net的web程序在iis中创建为应用程序才能访问,否则就报错?
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Configuration;namespace shop.DbBase
{
/// <summary>
/// SqlBase.
/// </summary>
public class SqlBase
{ #region "Fields of SqlBase calss" /// <summary>
/// connecting to Database
/// </summary>
protected static string sConn = ConfigurationSettings.AppSettings["ConnectionString"]; #endregion #region "Functions of SqlBase class"
public SqlBase()
{
//
// TODO: Add constructor logic here
//
} /// <summary>
/// executing SQL commands
/// </summary>
/// <param name="strSQL">string</param>
/// <returns>return int</returns>
public static int ExecuteSql(string strSQL)
{
SqlConnection myCn = new SqlConnection(sConn);
SqlCommand myCmd = new SqlCommand(strSQL,myCn);
try
{
myCn.Open();
myCmd.ExecuteNonQuery();
return 0;
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
///executing SQL commands
/// </summary>
/// <param name="strSQL">要执行的SQL语句,为字符串类型string</param>
/// <returns>返回执行情况,整形int</returns>
public static int ExecuteSqlEx(string strSQL)
{
SqlConnection myCn = new SqlConnection(sConn);
SqlCommand myCmd = new SqlCommand(strSQL,myCn);
try
{
myCn.Open();
SqlDataReader myReader = myCmd.ExecuteReader();
if(myReader.Read())
{
return 0;
}
else
{
throw new Exception("Value Unavailable!");
}
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
/// get dataset
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(DataSet)</returns>
public static DataSet ExecuteSql4Ds(string strSQL)
{
SqlConnection myCn = new SqlConnection(sConn);
try
{
myCn.Open();
SqlDataAdapter sda = new SqlDataAdapter(strSQL,myCn);
DataSet ds = new DataSet("ds");
sda.Fill(ds);
return ds;
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
myCn.Close();
}
}
/// <summary>
/// get single value
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(int)</returns>
public static int ExecuteSql4Value(string strSQL)
{
SqlConnection myCn = new SqlConnection(sConn);
SqlCommand myCmd = new SqlCommand(strSQL,myCn);
try
{
myCn.Open();
object r = myCmd.ExecuteScalar();
if(Object.Equals(r,null))
{
throw new Exception("value unavailable!");
}
else
{
return (int)r;
}
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
/// get object
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(object)</returns>
public static object ExecuteSql4ValueEx(string strSQL)
{
SqlConnection myCn = new SqlConnection(sConn);
SqlCommand myCmd = new SqlCommand(strSQL,myCn);
try
{
myCn.Open();
object r = myCmd.ExecuteScalar();
if(Object.Equals(r,null))
{
throw new Exception("object unavailable!");
}
else
{
return r;
}
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
/// execute multipul SQL commands
/// </summary>
/// <param name="strSQLs">string</param>
/// <returns>int</returns>
public static int ExecuteSqls(string[] strSQLs)
{
SqlConnection myCn = new SqlConnection(sConn);
SqlCommand myCmd = new SqlCommand();
int j=strSQLs.Length; try
{
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
{
myCmd.Dispose();
myCn.Close();
}
} #endregion
}
/// OleBase.
/// </summary>
public class OleBase
{ #region "Fields of OleBase calss" /// <summary>
/// connecting to Database
/// </summary>
protected static string strConn = ConfigurationSettings.AppSettings["ConnectionString"]; #endregion #region "Functions of OleBase class"
public OleBase()
{
//
// TODO: Add constructor logic here
//
} /// <summary>
/// executing SQL commands
/// </summary>
/// <param name="strSQL">string</param>
/// <returns>return int</returns>
public static int ExecuteSql(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand(strSQL,myCn);
try
{
myCn.Open();
myCmd.ExecuteNonQuery();
return 0;
}
catch(OleDbException e)
{
throw new Exception(e.Message/* + " at databse :" + strConn*/);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
///executing SQL commands
/// </summary>
/// <param name="strSQL">要执行的SQL语句,为字符串类型string</param>
/// <returns>返回执行情况,整形int</returns>
public static int ExecuteSqlEx(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand(strSQL,myCn);
try
{
myCn.Open();
OleDbDataReader myReader = myCmd.ExecuteReader();
if(myReader.Read())
{
return 0;
}
else
{
throw new Exception("Value Unavailable!");
}
}
catch(OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
/// get dataset
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(DataSet)</returns>
public static DataSet ExecuteSql4Ds(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
try
{
myCn.Open();
OleDbDataAdapter sda = new OleDbDataAdapter(strSQL,myCn);
DataSet ds = new DataSet("ds");
sda.Fill(ds);
return ds;
}
catch(OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
myCn.Close();
}
}
/// <summary>
/// get single value
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(int)</returns>
public static int ExecuteSql4Value(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand(strSQL,myCn);
try
{
myCn.Open();
object r = myCmd.ExecuteScalar();
if(Object.Equals(r,null))
{
throw new Exception("value unavailable!");
}
else
{
return (int)r;
}
}
catch(OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
/// get object
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(object)</returns>
public static object ExecuteSql4ValueEx(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand(strSQL,myCn);
try
{
myCn.Open();
object r = myCmd.ExecuteScalar();
if(Object.Equals(r,null))
{
throw new Exception("object unavailable!");
}
else
{
return r;
}
}
catch(OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
/// execute multipul SQL commands
/// </summary>
/// <param name="strSQLs">string</param>
/// <returns>int</returns>
public static int ExecuteSqls(string[] strSQLs)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand();
int j=strSQLs.Length; try
{
myCn.Open();
}
catch(OleDbException e)
{
throw new Exception(e.Message);
}
OleDbTransaction 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(OleDbException e)
{
myTrans.Rollback();
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
} #endregion
}
}
连接不同数据库只是连接字符串不同,操作数据库的SQl及操作类是差不多的