SqlServer数据库操作的基本函数(用以备忘)
项目中难免遇到数据库相关操作,对于数据库操作地方我们可以写一个数据操作类进行处理,避免每次都需要手动创建连接,打开连接等等。下面给出数据库操作类的基本服务函数。
/// <summary>
/// 初始化连接,打开连接
/// </summary>
/// <returns></returns>
private bool InitConnection()
{
if (sqlConn == null)
{
sqlConn = new SqlConnection(this.strConn);
}
if (sqlConn.State == ConnectionState.Closed)
{
sqlConn.Open();
}
return true;
}
该部分主要检查数据库连接状态,没有则创建,没打开则打开。
/// <summary>
/// 返回执行的记录数
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public int GetSQLExecuteLineCount(string strSQL)
{
try
{
InitConnection();
if (sqlConn == null) return 0;
using (SqlCommand command = sqlConn.CreateCommand())
{
command.CommandText = strSQL;
return command.ExecuteNonQuery();
}
}
catch (System.Exception)
{
}
return 0;
}
/// <summary>
/// 返回查询的表
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public DataTable GetQueryTable(string strSql)
{
try
{
InitConnection();
if (sqlConn == null) return null;
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(strSql, sqlConn);
da.Fill(dt);
return dt;
}
catch (System.Exception)
{
}
return null;
}
/// <summary>
/// 返回第一行第一列
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public Object GetQueryFirstObject(string strSql)
{
try
{
InitConnection();
if (sqlConn == null) return null;
using (SqlCommand command = sqlConn.CreateCommand())
{
command.CommandText = strSql;
return command.ExecuteScalar();
}
}
catch (System.Exception)
{
}
return null;
}
上面三个基本函数实现查询基本功能,传入查询的语句返回三种结果。
有了上面这三个基本函数,我们自己写的查询函数就可以写成这样:
public DataTable GetSjmOrFsjm(string nameCode)
{
string name = string.Empty;
string sql = string.Format("select sjm03 from sjm where sjm02 = '{0}'", nameCode);
DataTable table = GetQueryTable(sql);
return table;
}
这样书写明显就简化了很多。顺便提一下,我们这里的连接字符串从配置文件中读出,最好设计成单例模型,然后设置到我们数据库操作类的字符创静态变量中
public static string connectionString = "Data Source=192.168.168.2;Initial Catalog=databaseName;Persist Security Info=True;User ID=userID;Password=psd";
这样操作数据就相对方便了,如果你有更好的办法也可以相互交流。