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()
+ {
+ }
+ }
+}