在开发过程中,如果没有MSSql数据库,那么使用Access数据库时,需要对Access数据库数据进行操作,对Access数据操作和MSSql差不多,所以可以建立工具类,方便使用,需注意:在添加和修改数据时,有时候回出现无法操作,可能是数据表中的"关键词",需要在字段的两边加上[]:
public class SQLAccess
{
/// <summary>
/// 返回多行多列查询值,无效则返回
/// </summary>
/// <param name="connectingStr">数据库连接串</param>
/// <param name="sqlCommand">数据库查询串</param>
public static DataTable GetDBToDataTable(string connectingStr, string sqlCommand)
{
OleDbConnection conn = new OleDbConnection(connectingStr);
try
{
if (conn.State == ConnectionState.Closed)
conn.Open();
}
catch (System.Exception ex)
{
throw (ex);
}
OleDbDataAdapter myDa = new OleDbDataAdapter(sqlCommand, conn);
try
{
DataTable dt = new DataTable();
myDa.Fill(dt);
if (conn.State == ConnectionState.Open)
conn.Close();
myDa.Dispose();
return dt;
}
catch (System.Exception ex)
{
throw (ex);
}
finally
{
try
{
myDa.Dispose();
if (conn.State == ConnectionState.Open)
conn.Close();
}
catch { }
}
}
/// <summary>
/// 返回单行单列查询值,无效则返回
/// </summary>
/// <param name="connectingStr">数据库连接串</param>
/// <param name="sqlCommand">数据库查询串</param>
public static object GetDBValue_3(string connectingStr, string sql)
{
OleDbConnection conn = new OleDbConnection(connectingStr);
try
{
if (conn.State == ConnectionState.Closed)
conn.Open();
}
catch (System.Exception ex)
{
throw (ex);
}
OleDbCommand cmd = new OleDbCommand(sql, conn);
try
{
object rs = cmd.ExecuteScalar();
if (conn.State == ConnectionState.Open)
conn.Close();
cmd.Dispose();
return rs;
}
catch (System.Exception ex)
{
throw (ex);
}
finally
{
try
{
cmd.Dispose();
if (conn.State == ConnectionState.Open)
conn.Close();
}
catch { }
}
}
/// <summary>
/// 执行SQL,返回受影响的行数,错误则返回 -1
/// </summary>
/// <param name="connectingStr">数据库连接串</param>
/// <param name="sqlCommand">数据库查询串</param>
public static int ExeSqlCommand(string connectingStr, string sql)
{
OleDbConnection conn = new OleDbConnection(connectingStr);
try
{
if (conn.State == ConnectionState.Closed)
conn.Open();
}
catch (System.Exception ex)
{
throw (ex);
}
OleDbCommand cmd = new OleDbCommand(sql, conn);
try
{
int rs = cmd.ExecuteNonQuery();
if (conn.State == ConnectionState.Open)
conn.Close();
cmd.Dispose();
return rs;
}
catch (System.Exception ex)
{
throw (ex);
}
finally
{
try
{
cmd.Dispose();
if (conn.State == ConnectionState.Open)
conn.Close();
}
catch { }
}
}
}
评论列表: