111,097
社区成员




public class DatabaseManager : IDisposable
{
private SQLiteConnection dbConnection = null;
private DatabaseManager(string connectionString)
{
dbConnection = new SQLiteConnection(connectionString);
dbConnection.Open();
}
public void Dispose()
{
dbConnection.Close();
dbConnection = null;
}
public int ExecuteNoQuery(string command)
{
int nResult = -1;
try
{
using (SQLiteCommand dbCommand = dbConnection.CreateCommand())
{
dbCommand.CommandText = command;
nResult = dbCommand.ExecuteNonQuery();
}
}
catch (Exception e)
{
LogError("Error occurs during execute sql no result query, error message: ", e.Message);
}
return nResult;
}
}
/// <summary>
/// SQLite数据库批量操作,要使用事务处理,效率可提升。
/// </summary>
/// <param name="info"></param>
public static void InsertStudent(List<Student> info)
{
using (SQLiteConnection conn = DbUtils.getConnection())
{
conn.Open();
IDbTransaction transaction = conn.BeginTransaction();
try
{
//Sql语句
const string sql = @"insert into student(stuName,age) values(@stuName,@age)";
foreach (Student parms in info)
{
conn.Execute(sql, parms);
}
transaction.Commit();//提交事务
}
catch (Exception ex)
{
transaction.Rollback();//回滚事务
}
}
}