查询数据
//查询
string sql = "select * from JAVATEST ";
Database db = CustomDatabaseFactory.CreateDatabase();
conn = db.CreateConnection();
conn.Open();
DbCommand dbc = db.GetSqlStringCommand(sql);
dbc.Connection = conn;
var re=db.ExecuteReader(dbc);
List<Test> test=ConvertDataReaderEntity.ConvertDataReaderToModels<Test>(re);
上边方法是查询的基本操作,其中Test是封装好的一个实体类。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Models
{
public class Test
{
public string uuid
{
get;
set;
}
public string names
{
set;
get;
}
public string quantity
{
get;
set;
}
}
}
其中CustomerDatabaseFactory是封装好的工具类
using Microsoft.Practices.EnterpriseLibrary.Data;
using System;
namespace Infrastructure.Dal
{
public class CustomDatabaseFactory
{
public CustomDatabaseFactory();
public static Database CreateDatabase();
public static Database CreateDatabase(string name);
}
}
增加操作
Database database = null;
DbConnection conn = null;
DbCommand cmd = null;
string result;
string sql = "insert into JAVATEST (NAMES,QUANTITY) VALUES(:username,:password)";
database = CustomDatabaseFactory.CreateDatabase();
conn = database.CreateConnection();
conn.Open();
cmd= database.GetSqlStringCommand(sql);
cmd.Connection = conn;
database.AddInParameter(cmd, ":username", DbType.String, username);
database.AddInParameter(cmd, ":password", DbType.String, password);
result= cmd.ExecuteNonQuery().ToString();
上边程序就是新增操作,具体流程就是首先创建一个Database对象,这个室友CustomerDatabaseFactory创建来的,然后通过database对象来创建一个连接对象,然后打开链接。然后创建一个DbCommand对象(通过database的getSqlStringCommand()方法来创建)同时将database创建的连接对象传递给DbCommand对象的connection属性。然后就可以根据实际情况给参数赋值,最后一点比较重要的就是,这里一定要使用DbCommand对象的ExecuteNoQuery来执行插入操作,为了高效利用连接对象,一定不要忘记关闭连接对象。
删除数据操作
string sql1 = "delete from JAVATEST WHERE NAMES='"+username+"'";
Database database = CustomDatabaseFactory.CreateDatabase();
DbConnection con1= database.CreateConnection();
DbCommand dbm = database.GetSqlStringCommand(sql1);
dbm.Connection = con1;
database.ExecuteNonQuery(dbm);
con1.Close();
上边代码不再解释,相信大家都可以看得明白
更新
对于更新操作我相信大家都可以通过添加操作这一案例举一反三了。