高分求:关于enterprise library中DAAB的问题

wangfeng666 2008-06-05 10:22:48
我做了一个项目,在不用存储过程的情况下,不知道怎么传入参数。

例如:
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;
}
}
}
}
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuan.ye 2008-06-05
  • 打赏
  • 举报
回复
查一下,李天平的代码生成器
很多事情都省下了
Jinglecat 2008-06-05
  • 打赏
  • 举报
回复
不好意思,习惯了经典 DAAB 的写法

你的代码基本对了,只是没见你赋值

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, newsId); // HERE!!!
// db.ExecuteNonQuery(dbCommand);

using (IDataReader dataReader=db.ExecuteReader(dbCommand))
{
// ....
wangfeng666 2008-06-05
  • 打赏
  • 举报
回复
要沉底了!
wangfeng666 2008-06-05
  • 打赏
  • 举报
回复
IDataReader dataReader = db.ExecuteReader(CommandType.Text, "Select Name, Address, City From Customers where nameId=@nameId", yourParameterArray)

那这里的yourParameterArray具体怎么操作?能写的详细些吗?
Jinglecat 2008-06-05
  • 打赏
  • 举报
回复

IDataReader dataReader = db.ExecuteReader(CommandType.Text, "Select Name, Address, City From Customers where nameId=@nameId", yourParameterArray)
wangfeng666 2008-06-05
  • 打赏
  • 举报
回复
别沉啊,enterprise librayr的资料本来就少,回答也没人吗?
wangfeng666 2008-06-05
  • 打赏
  • 举报
回复
怎么没人进来啊,将分加到100,希望高手过来帮忙!!!!!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧