oledb测试

master
bicijinlian 5 years ago
parent 79d80ca21b
commit 2c3223ac6b

@ -5,8 +5,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Data.Odbc" Version="4.7.0" />
<PackageReference Include="System.Data.OleDb" Version="4.7.1" />
<PackageReference Include="System.Data.Odbc" Version="5.0.0" />
<PackageReference Include="System.Data.OleDb" Version="5.0.0" />
</ItemGroup>
<ItemGroup>

@ -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();

@ -6,7 +6,7 @@ using System.Text;
namespace AccessStudy.Core
{
public class OledbUtil:IDisposable
public class OledbUtil : IDisposable
{
public OleDbConnection DbConnection { get; set; }
@ -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
/// <summary>
/// 获取DataSet
/// </summary>
public DataSet GetDataSet(string sqlText, List<OleDbParameter> parameters=null)
public DataSet GetDataSet(string sqlText, List<OleDbParameter> parameters = null)
{
DataSet dataSet = new DataSet();
try
@ -100,7 +100,7 @@ namespace AccessStudy.Core
CommandText = sqlText,
};
if (parameters !=null)
if (parameters != null)
{
command.Parameters.AddRange(parameters.ToArray());
}
@ -133,9 +133,9 @@ namespace AccessStudy.Core
/// <summary>
/// 获取DataTable
/// </summary>
public DataTable GetDataTable(string sqlText, List<OleDbParameter> parameters=null)
public DataTable GetDataTable(string sqlText, List<OleDbParameter> parameters = null)
{
DataSet dataSet = GetDataSet(sqlText,parameters);
DataSet dataSet = GetDataSet(sqlText, parameters);
return dataSet.Tables[0];
}
@ -175,7 +175,7 @@ namespace AccessStudy.Core
/// 获取DataReader
/// 切记:用完之后主动关闭连接
/// </summary>
public OleDbDataReader GetDataReader(string sqlText, List<OleDbParameter> parameters=null)
public OleDbDataReader GetDataReader(string sqlText, List<OleDbParameter> 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
/// </summary>
public object GetScalar(string sqlText, List<OleDbParameter> parameters=null)
public object GetScalar(string sqlText, List<OleDbParameter> 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();
}

@ -7,10 +7,21 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="xunit" Version="2.4.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
<PackageReference Include="coverlet.collector" Version="1.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.0" />
<PackageReference Include="Shouldly" Version="4.0.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="1.3.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AccessStudy.Core\AccessStudy.Core.csproj" />
</ItemGroup>
</Project>

@ -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<OleDbParameter> paras = new List<OleDbParameter>()
{
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<OleDbParameter> paras = new List<OleDbParameter>()
{
new OleDbParameter("Age",1),
new OleDbParameter("Name","王高峰"),
};
var total = _dbUtil.ExecuteNonQuery(sqlText, paras);
Assert.True(total >= 0);
}
public void Dispose()
{
}
}
}
Loading…
Cancel
Save