企业库4.0还是好用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Data.Common;
namespace cnblog.DAL
{
public class CnblogUserDal
{
public void CreateUser( string username, string password, string displayName, string email, string gender )
{
string sql = @"insert into [User](userName ,password ,displayName ,Email ,gender)
values( @Name ,@password ,@displayName ,@Email ,@gender)";
Database db = DatabaseFactory.CreateDatabase( "blog" );
DbCommand command = db.GetSqlStringCommand( sql );
db.AddInParameter( command, "name", System.Data.DbType.String, username );
db.AddInParameter( command, "password", System.Data.DbType.String, password );
db.AddInParameter( command, "displayName", System.Data.DbType.String, displayName );
db.AddInParameter( command, "email", System.Data.DbType.String, email );
db.AddInParameter( command, "gender", System.Data.DbType.String, gender );
db.ExecuteNonQuery( command );
}
public cnblog.Model.cnblogUser GetUser( string username )
{
cnblog.Model.cnblogUser user = null;
string sql = "select userName ,displayName ,Email ,gender from User where user=@userName";
Database db = DatabaseFactory.CreateDatabase( "blog" );
DbCommand command = db.GetSqlStringCommand( sql );
db.AddInParameter( command, "name", System.Data.DbType.String, username );
using ( System.Data.IDataReader reader = db.ExecuteReader( command ) )
{
if ( reader.Read() )
{
user = new Model.cnblogUser(
reader.GetString( 0 ),
reader.GetString( 1 ),
reader.GetString( 2 ),
reader.GetString( 3 )
);
}
}
return user;
}
}
}
连接串:
<!--<add name ="blog" connectionString="Data Source=192.168.1.101;Initial Catalog=cnblogs;user id=sa;password=sa"/>连接不了-->
<!--<add name ="blog" connectionString="Data Source=192.168.1.101;Initial database=cnblogs;user id=sa;password=sa"/>连接不了-->
<!--<add name ="blog" connectionString="Data Source=192.168.1.101; Catalog=cnblogs;user id=sa;password=sa"/>连接不了-->
<!--<add name ="blog" connectionString="Data Source=192.168.1.101; database=cnblogs;user id=sa;password=sa"/>连接不了-->
<!--<add name ="blog" connectionString="Data Source=192.168.1.101;Initial database=cnblogs;Integrated Security=True" providerName="System.Data.SqlClient"/>连接不了-->
<add name ="blog" connectionString="Data Source=192.168.1.101;Initial Catalog=cnblogs;Integrated Security=True" providerName="System.Data.SqlClient"/>
测试代码
using cnblog.DAL;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using cnblog.Model;
namespace cnblog.DALTest
{
/// <summary>
///这是 CnblogUserDalTest 的测试类,旨在
///包含所有 CnblogUserDalTest 单元测试
///</summary>
[TestClass( )]
public class CnblogUserDalTest
{
private TestContext testContextInstance;
/// <summary>
///获取或设置测试上下文,上下文提供
///有关当前测试运行及其功能的信息。
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
#region 附加测试特性
//
//编写测试时,还可使用以下特性:
//
//使用 ClassInitialize 在运行类中的第一个测试前先运行代码
//[ClassInitialize()]
//public static void MyClassInitialize(TestContext testContext)
//{
//}
//
//使用 ClassCleanup 在运行完类中的所有测试后再运行代码
//[ClassCleanup()]
//public static void MyClassCleanup()
//{
//}
//
//使用 TestInitialize 在运行每个测试前先运行代码
//[TestInitialize()]
//public void MyTestInitialize()
//{
//}
//
//使用 TestCleanup 在运行完每个测试后运行代码
//[TestCleanup()]
//public void MyTestCleanup()
//{
//}
//
#endregion
/// <summary>
///CnblogUserDal 构造函数 的测试
///</summary>
[TestMethod( )]
public void CnblogUserDalConstructorTest( )
{
CnblogUserDal target = new CnblogUserDal( );
Assert.Inconclusive( "TODO: 实现用来验证目标的代码" );
}
/// <summary>
///CreateUser 的测试
///</summary>
[TestMethod( )]
public void CreateUserTest( )
{
CnblogUserDal target = new CnblogUserDal( ); // TODO: 初始化为适当的值
string username = "yy"; // TODO: 初始化为适当的值
string password = "xx"; // TODO: 初始化为适当的值
string displayName = "mm"; // TODO: 初始化为适当的值
string email = "ee"; // TODO: 初始化为适当的值
string gender = "男"; // TODO: 初始化为适当的值
target.CreateUser( username, password, displayName, email, gender );
Assert.Inconclusive( "无法验证不返回值的方法。" );
}
/// <summary>
///GetUser 的测试
///</summary>
[TestMethod( )]
public void GetUserTest( )
{
CnblogUserDal target = new CnblogUserDal( ); // TODO: 初始化为适当的值
string username = "yy"; // TODO: 初始化为适当的值
cnblogUser expected = null; // TODO: 初始化为适当的值
cnblogUser actual;
actual = target.GetUser( username );
Assert.AreEqual( expected, actual );
Assert.Inconclusive( "验证此测试方法的正确性。" );
}
}
}