高分求:关于enterprise library中DAAB的问题
我做了一个项目,在不用存储过程的情况下,不知道怎么传入参数。
例如:
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader dataReader = db.ExecuteReader(CommandType.Text, "Select Name, Address, City From Customers" ))
{
customerGrid.DataSource = dataReader;
customerGrid.DataBind();
}
这里的"Select Name, Address, City From Customers"我想换成"Select Name, Address, City From Customers where nameId=@nameId",按照enterprise library的帮助带参数的只有存储过程的例子,而没有用CommandType.Text的例子,请大家给个指导!谢谢,在线等!
我的实际项目源码也附上一份吧,可以不看的。有心人也可以帮看一下源码里是否有误!
namespace ChinaFine.DAL
{
public class News:INews
{
private const string PARM_NewsId = "@NewsId";
//private const string PARM_NewsTitle = "@NewsTitle";
//private const string PARM_CategoryCode = "@NategoryCode";
//private const string PARM_NewsContent = "@NewsContent";
//private const string PARM_NewsDateTime = "@NewsDateTime";
//private const string PARM_NewsFrom = "@NewsFrom";
//private const string PARM_InPic = "@InPic";
//private const string PARM_TitleColor = "@TitleColor";
//private const string PARM_IsStrong = "@IsStrong";
//private const string PARM_IsSpecial = "@IsSpecial";
//private const string PARM_IsTop = "@IsTop";
private const string SQL_SELECT_NEWS_BY_NEWSID = "select * from [aspnet_news] where [NewsId]=@NewsId";
#region INews 成员
/// <summary>
///
/// </summary>
/// <param name="newsId"></param>
/// <returns></returns>
public NewsInfo GetNewsbyNewsId(string newsId)
{
Database db = DatabaseFactory.CreateDatabase("WebDataBaseConnectionString");
DbCommand dbCommand=db.GetSqlStringCommand(SQL_SELECT_NEWS_BY_NEWSID);
db.AddInParameter(dbCommand, PARM_NewsId, DbType.String);
db.ExecuteNonQuery(dbCommand);
//db.AddOutParameter(dbCommand, PARM_NewsTitle, DbType.String,50);
//db.AddOutParameter(dbCommand, PARM_CategoryCode, DbType.String,50);
//db.AddOutParameter(dbCommand, PARM_NewsContent, DbType.String,500000);
//db.AddOutParameter(dbCommand, PARM_NewsDateTime, DbType.String,50);
//db.AddOutParameter(dbCommand, PARM_NewsFrom, DbType.String, 50);
//db.AddOutParameter(dbCommand, PARM_InPic, DbType.String, 50);
//db.AddOutParameter(dbCommand, PARM_TitleColor, DbType.String, 50);
//db.AddOutParameter(dbCommand, PARM_IsStrong, DbType.String, 50);
//db.AddOutParameter(dbCommand, PARM_IsSpecial, DbType.String, 50);
//db.AddOutParameter(dbCommand, PARM_IsTop, DbType.String, 50);
using (IDataReader dataReader=db.ExecuteReader(dbCommand))
{
NewsInfo newsInfo=null;
while (dataReader.Read())
{
//newsInfo = new NewsInfo(dataReader["NewsTitle"], dataReader["CategoryCode"], dataReader["NewsContent"], dataReader["NewsDateTime"], dataReader["NewsFrom"], dataReader["InPic"], dataReader["TitleColor"], dataReader["IsStrong"], dataReader["IsSpecial"], dataReader["IsTop"]);
newsInfo = new NewsInfo(dataReader.GetString(0),dataReader.GetString(1),dataReader.GetString(2),Convert.ToDateTime(dataReader.GetString(3)),dataReader.GetString(4),dataReader.GetString(5),dataReader.GetString(6),dataReader.GetString(7),dataReader.GetString(8),dataReader.GetString(9));
}
return newsInfo;
}
}
}
}