diff --git a/AccessStudy.Core/AccessStudy.Core.csproj b/AccessStudy.Core/AccessStudy.Core.csproj index ba3b4ab..6f11158 100644 --- a/AccessStudy.Core/AccessStudy.Core.csproj +++ b/AccessStudy.Core/AccessStudy.Core.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/AccessStudy.Core/OdbcUtil.cs b/AccessStudy.Core/OdbcUtil.cs index f084326..c2752e9 100644 --- a/AccessStudy.Core/OdbcUtil.cs +++ b/AccessStudy.Core/OdbcUtil.cs @@ -189,7 +189,7 @@ namespace AccessStudy.Core if (parameters != null) { - command.Parameters.Add(parameters.ToArray()); + command.Parameters.AddRange(parameters.ToArray()); } dataReader = command.ExecuteReader(); @@ -227,7 +227,7 @@ namespace AccessStudy.Core if (parameters != null) { - command.Parameters.Add(parameters.ToArray()); + command.Parameters.AddRange(parameters.ToArray()); } result = command.ExecuteScalar(); @@ -264,7 +264,7 @@ namespace AccessStudy.Core if (parameters != null) { - command.Parameters.Add(parameters.ToArray()); + command.Parameters.AddRange(parameters.ToArray()); } result = command.ExecuteNonQuery(); diff --git a/AccessStudy.Core/OledbUtil.cs b/AccessStudy.Core/OledbUtil.cs index a245877..e993597 100644 --- a/AccessStudy.Core/OledbUtil.cs +++ b/AccessStudy.Core/OledbUtil.cs @@ -6,7 +6,7 @@ using System.Text; namespace AccessStudy.Core { - public class OledbUtil:IDisposable + public class OledbUtil : IDisposable { public OleDbConnection DbConnection { get; set; } @@ -18,7 +18,7 @@ namespace AccessStudy.Core } public OledbUtil(string connetString) - { + { DbConnection = new OleDbConnection(connetString); } @@ -72,7 +72,7 @@ namespace AccessStudy.Core adapter.Fill(dataSet); } - catch(Exception ex) + catch (Exception ex) { Console.WriteLine(ex.Message); } @@ -87,7 +87,7 @@ namespace AccessStudy.Core /// /// 获取DataSet /// - public DataSet GetDataSet(string sqlText, List parameters=null) + public DataSet GetDataSet(string sqlText, List parameters = null) { DataSet dataSet = new DataSet(); try @@ -100,11 +100,11 @@ namespace AccessStudy.Core CommandText = sqlText, }; - if (parameters !=null) - { + if (parameters != null) + { command.Parameters.AddRange(parameters.ToArray()); } - + var adapter = new OleDbDataAdapter(command); adapter.Fill(dataSet); @@ -133,9 +133,9 @@ namespace AccessStudy.Core /// /// 获取DataTable /// - public DataTable GetDataTable(string sqlText, List parameters=null) + public DataTable GetDataTable(string sqlText, List parameters = null) { - DataSet dataSet = GetDataSet(sqlText,parameters); + DataSet dataSet = GetDataSet(sqlText, parameters); return dataSet.Tables[0]; } @@ -175,7 +175,7 @@ namespace AccessStudy.Core /// 获取DataReader /// 切记:用完之后主动关闭连接 /// - public OleDbDataReader GetDataReader(string sqlText, List parameters=null) + public OleDbDataReader GetDataReader(string sqlText, List parameters = null) { OleDbDataReader dataReader = null; try @@ -185,12 +185,12 @@ namespace AccessStudy.Core { Connection = DbConnection, CommandType = CommandType.Text, - CommandText =sqlText, + CommandText = sqlText, }; if (parameters != null) { - command.Parameters.Add(parameters.ToArray()); + command.Parameters.AddRange(parameters.ToArray()); } dataReader = command.ExecuteReader(); @@ -212,7 +212,7 @@ namespace AccessStudy.Core /// 获取第一行第一列的值 /// 不存在则为null /// - public object GetScalar(string sqlText, List parameters=null) + public object GetScalar(string sqlText, List parameters = null) { object result = null; @@ -228,14 +228,14 @@ namespace AccessStudy.Core if (parameters != null) { - command.Parameters.Add(parameters.ToArray()); + command.Parameters.AddRange(parameters.ToArray()); } result = command.ExecuteScalar(); } catch (Exception ex) { - throw ex; + throw ex; } finally { @@ -265,7 +265,7 @@ namespace AccessStudy.Core if (parameters != null) { - command.Parameters.Add(parameters.ToArray()); + command.Parameters.AddRange(parameters.ToArray()); } result = command.ExecuteNonQuery(); @@ -306,7 +306,7 @@ namespace AccessStudy.Core public void Dispose() { - if (DbConnection.State==ConnectionState.Open) + if (DbConnection.State == ConnectionState.Open) { DbConnection.Close(); } diff --git a/AccessStudy.CoreTest/AccessStudy.CoreTest.csproj b/AccessStudy.CoreTest/AccessStudy.CoreTest.csproj index 5b1791f..e60efe2 100644 --- a/AccessStudy.CoreTest/AccessStudy.CoreTest.csproj +++ b/AccessStudy.CoreTest/AccessStudy.CoreTest.csproj @@ -7,10 +7,21 @@ - - - - + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + diff --git a/AccessStudy.CoreTest/OleDbUtilTest.cs b/AccessStudy.CoreTest/OleDbUtilTest.cs new file mode 100644 index 0000000..16dbeb9 --- /dev/null +++ b/AccessStudy.CoreTest/OleDbUtilTest.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Text; + +using Xunit; + +using Shouldly; +using Shouldly.Configuration; +using Shouldly.ShouldlyExtensionMethods; + +using AccessStudy.Core; +using System.Data.OleDb; + +namespace AccessStudy.CoreTest +{ + public class OleDbUtilTest:IDisposable + { + + private readonly OledbUtil _dbUtil; + public OleDbUtilTest() + { + _dbUtil = new OledbUtil(); + } + + [Fact] + public void DbUtil_NotNull_Test() + { + Assert.NotNull(_dbUtil); + } + + [Fact] + public void DbConnet_Test() + { + var con = _dbUtil.DbConnection; + Assert.NotNull(con); + + Action action = () => + { + con.Open(); + con.Close(); + con.Dispose(); + + //throw new Exception("特意抛出的异常!"); + }; + + Should.NotThrow(action); + } + + [Fact] + public void DataSet_Test() + { + var ds = _dbUtil.GetDataSet("Student"); + + Assert.NotNull(ds); + + Assert.NotNull(ds.Tables); + + Assert.True(ds.Tables.Count>0); + } + + [Fact] + public void DataTable_Test() + { + var dt = _dbUtil.GetDataTable("Student"); + Assert.NotNull(dt); + } + + [Fact] + public void DataReader_Test() + { + Action action = () => + { + var dataReader = _dbUtil.GetDataReader("Student"); + while (dataReader.Read()) + { + break; + } + + dataReader.Close(); + }; + + Should.NotThrow(action); + } + + + [Fact] + public void Scalar_Test() + { + var sqlText = @"select count(*) as Total from Student where Age>@Age;"; + List paras = new List() + { + new OleDbParameter("Age",1), + }; + + var total = (int)_dbUtil.GetScalar(sqlText, paras); + + Assert.True(total >= 0); + } + + + [Fact] + public void NonQuery_Test() + { + var sqlText = @"update Student Set Age=Age+1 where Age>@Age and Name <>@Name;"; + List paras = new List() + { + new OleDbParameter("Age",1), + new OleDbParameter("Name","王高峰"), + }; + + var total = _dbUtil.ExecuteNonQuery(sqlText, paras); + + Assert.True(total >= 0); + } + + + + public void Dispose() + { + } + } +}