解决方案 »
- (在线等待)如何生成指定格式(DTD)的XML文件
- asp.net怎么做视频播放器
- 很奇葩的一个问题,求各位好汉
- 为什么通过JMAIL取出来的邮件存不进数据库呢
- 跪求 asp.net Flash Video播放代码 谢谢!!!
- 在onbeforeunload中作一个confirm用户点ok的时候才onunload(关闭或刷新)?
- 动态添加user control的问题
- 页面刷新问题,求解
- NavigationMenu的问题
- 怎样使iis定时删除文件
- Invalid length for a Base-64 char array or string
- JS判断GridView的TemplateField中的Label控件值是否为空
反正你的意思表述不清楚,如果你是说的SQL查询的结果只有一个的话,那就是你自己写的SQL语句有问题,既然你要关联到多个附件,肯定查询出来会有多个附件的路径,如果每个路径是分开存的,你只需要单独代入下载函数就好了,如果你的路径是存在一个字段中,比如 【123.doc|abc.doc|567.txt|efg.xls】这种格式的话,你需要先把它按“|”拆分开,再分别代入下载函数就好了。说实话,写了这么多,其实还是不知道你问的到底是什么,
如图,这时另一个表,我根据runningno查询数据,但是我的方法只能查到一条数据,我该怎么没办
你设计的不合理啊!
{
StringBuilder sbSql = new StringBuilder();
sbSql.Append(@"SELECT TaxiID,TaxiBrandNumdbo.Rpt_GetDictionaryNameSql(CarModels,'TaxiType') CarModels, CMDS_PrivateDictionaryItem.name as TaxiUnit,CertificateTime,ManufactureDate,YearCarefulTime,CertificatePeriod,SeatingNumber,Attach,Picture,Re,TC_Taxi.OrganiseUnitID,TC_Taxi.CreatedBy,TC_Taxi.CreatedDate,TC_Taxi.ModifiedBy,TC_Taxi.ModifiedDate
FROM [TC_Taxi]
Left join CMDS_Annex on CMDS_Annex.RunningNo=TC_Taxi.Attach
WHERE TaxiID=@TaxiID ");
int n = 0;
SqlParameter[] parameters = {
new SqlParameter("@TaxiID", SqlDbType.UniqueIdentifier)};
parameters[n++].Value = TaxiID; TC_TaxiInfo model = null;
//执行查询
using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.LocalTrafficConnectionString, CommandType.Text, sbSql.ToString(), parameters))
{
model = new TC_TaxiInfo();
if (rdr.Read())
{
model.TaxiID = (new Guid(rdr[TC_TaxiInfo.TAXIID_FIELD].ToString()));
model.TaxiBrandNum = rdr[TC_TaxiInfo.TAXIBRANDNUM_FIELD].ToString();
model.TaxiCertificate = rdr[TC_TaxiInfo.TAXICERTIFICATE_FIELD].ToString();
model.Name = rdr[TC_TaxiInfo.NAME_FIELD].ToString();
}
}
return model;
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Panel ID="pnlContainer" runat="server">
</asp:Panel>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
List<Attachment> list = GetList();
if (list != null && list.Count > 0)
{
foreach (Attachment item in list)
{
//加入链接
HyperLink link = new HyperLink();
link.Text = item.Name;
link.NavigateUrl = item.Url;
this.pnlContainer.Controls.Add(link);
//加一个回车, 没有别的用意, 只为分开两者, 更显眼
Literal lt = new Literal();
lt.Text = "<br/>";
this.pnlContainer.Controls.Add(lt);
}
}
}
} public List<Attachment> GetList()
{
List<Attachment> list = new List<Attachment>()
{
new Attachment(){ Name="百度", Url="http://www.baidu.com" },
new Attachment(){ Name="新浪", Url="http://www.sina.com" }
}; return list;
}
} public class Attachment
{
public string Name { get; set; } public string Url { get; set; }
}
}
亲测可用。
效果图:
如有空,帮我投个票: http://vote.blog.csdn.net/blogstar2014/details?username=yenange#content
public TC_TaxiInfo GetModelBySql(Guid TaxiID)
{
StringBuilder sbSql = new StringBuilder();
sbSql.Append(@"SELECT TaxiID,TaxiBrandNumdbo.Rpt_GetDictionaryNameSql(CarModels,'TaxiType') CarModels, CMDS_PrivateDictionaryItem.name as TaxiUnit,CertificateTime,ManufactureDate,YearCarefulTime,CertificatePeriod,SeatingNumber,Attach,Picture,Re,TC_Taxi.OrganiseUnitID,TC_Taxi.CreatedBy,TC_Taxi.CreatedDate,TC_Taxi.ModifiedBy,TC_Taxi.ModifiedDate
FROM [TC_Taxi]
Left join CMDS_Annex on CMDS_Annex.RunningNo=TC_Taxi.Attach
WHERE TaxiID=@TaxiID ");
int n = 0;
SqlParameter[] parameters = {
new SqlParameter("@TaxiID", SqlDbType.UniqueIdentifier)};
parameters[n++].Value = TaxiID;
TC_TaxiInfo model = null;
//执行查询
using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.LocalTrafficConnectionString, CommandType.Text, sbSql.ToString(), parameters))
{
model = new TC_TaxiInfo();
if (rdr.Read())
{
model.TaxiID = (new Guid(rdr[TC_TaxiInfo.TAXIID_FIELD].ToString()));
model.TaxiBrandNum = rdr[TC_TaxiInfo.TAXIBRANDNUM_FIELD].ToString();
model.TaxiCertificate = rdr[TC_TaxiInfo.TAXICERTIFICATE_FIELD].ToString();
model.Name = rdr[TC_TaxiInfo.NAME_FIELD].ToString();
}
}
return model;
}
请问我这段代码怎么改?我从A表查出所有信息,其中有字段RunningNo,然后我根据RunningNo查询Attachmentde的信息,但是我的方法只能返回一个实体类,就是除了附件的字段为两个,sql语句应该怎么改,实体类怎么改?
FROM [TC_Taxi]
Left join CMDS_Annex on CMDS_Annex.RunningNo=TC_Taxi.Attach
WHERE TaxiID='875a3b50-7380-4c2c-99ac-0a066b96b4bf'这个是sql语句和运行结果
把model放在一个List<model类型>的集合里面,list.add(model)
最后return 这个list就可以了。记得把方法类型改成List<model类型>。根据这个思路,应该可以写出来
{
List<TC_TaxiInfo> list = new List<TC_TaxiInfo>();
StringBuilder sbSql = new StringBuilder();
sbSql.Append(@"SELECT TaxiID,TaxiBrandNumdbo.Rpt_GetDictionaryNameSql(CarModels,'TaxiType') CarModels, CMDS_PrivateDictionaryItem.name as TaxiUnit,CertificateTime,ManufactureDate,YearCarefulTime,CertificatePeriod,SeatingNumber,Attach,Picture,Re,TC_Taxi.OrganiseUnitID,TC_Taxi.CreatedBy,TC_Taxi.CreatedDate,TC_Taxi.ModifiedBy,TC_Taxi.ModifiedDate
FROM [TC_Taxi]
Left join CMDS_Annex on CMDS_Annex.RunningNo=TC_Taxi.Attach
WHERE TaxiID=@TaxiID ");
int n = 0;
SqlParameter[] parameters = {
new SqlParameter("@TaxiID", SqlDbType.UniqueIdentifier)};
parameters[n++].Value = TaxiID;
//执行查询
using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.LocalTrafficConnectionString, CommandType.Text, sbSql.ToString(), parameters))
{
while (rdr.Read())
{
TC_TaxiInfo model = new TC_TaxiInfo();
model.TaxiID = (new Guid(rdr[TC_TaxiInfo.TAXIID_FIELD].ToString()));
model.TaxiBrandNum = rdr[TC_TaxiInfo.TAXIBRANDNUM_FIELD].ToString();
model.TaxiCertificate = rdr[TC_TaxiInfo.TAXICERTIFICATE_FIELD].ToString();
model.Name = rdr[TC_TaxiInfo.NAME_FIELD].ToString(); list.Add(model);
}
}
return list;
}代码类似上面了……
楼主是学生么?