vc++从数据库提取时间数据显示在时间控件里
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc++从数据库提取时间数据显示在时间控件里相关的知识,希望对你有一定的参考价值。
从数据库中提取时间保存在varValue[2]中,时间控件变量成员m_starttime,显示命令如下:m_starttime.SetTime(COleDateTime(varValue[2].m_pdate->year,varValue[2].m_pdate->month,varValue[2].m_pdate->day,0,0,0));错误提示如下:D:\Program Files\Microsoft Visual Studio\MyProjects\信息\StudentInfo.cpp(148) : error C2660: 'SetTime' : function does not take 1 parameters
你好,是你啊,呵呵。SetTime不能接受COleDateTime作为参数,SetTime的定义如下:int SetTime(int nHour, int nMin, int nSec);从定义可知,SetTime只接受三个整形参数,即小时、分、秒。 COleDateTime类重载了=号,你可以通过等号设置时间,你可以这样写:m_starttime=COleDateTime(varValue[2].m_pdate->year,varValue[2].m_pdate->month,varValue[2].m_pdate->day,0,0,0); 参考技术A SetTime的参数问题,你是用MFC写的吧? 别把API和MFC的混了..从数据库中提取 pdf 并将其显示在我的 cshtml 上
【中文标题】从数据库中提取 pdf 并将其显示在我的 cshtml 上【英文标题】:Extract pdf from database and display it on my cshtml 【发布时间】:2015-08-27 05:16:27 【问题描述】:我正在从事一个项目,该项目应显示餐厅信息以及 pdf 文件。我已经能够将我的 pdf 保存到我的数据库中。但我不知道如何从我的数据库中提取它,然后将其显示在我的 .cshtml 上。
我正在使用带有 MSSQL 服务器的 VS 和 MVC4。
这是下载文件的代码。
var fileName = Path.GetFileName(TempVM.Resturang.PDF_File.FileName);
var filePath = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
TempVM.Resturang.PDF_File.SaveAs(filePath);
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
br.Close();
fs.Close();
TempVM.Resturang.PDF_FileName = fileName;
TempVM.Resturang.PDF_Data = bytes;
TempVM.Resturang.PDF_ContentType = filePath;
文件来自对象
public HttpPostedFileBase PDF_File get; set;
并且数据存储为
[PDF_Data] VARBINARY (MAX) NULL,
[PDF_ContentType] VARCHAR(MAX) NULL,
[PDF_FileName] VARCHAR(MAX) NULL,
用sql代码存储
cmd.Parameters.Add("@PDF_FileName", SqlDbType.VarChar).Value = Resturang.PDF_FileName;
cmd.Parameters.Add("@PDF_ContentType", SqlDbType.VarChar).Value = Resturang.PDF_ContentType;
cmd.Parameters.Add("@PDF_Data", SqlDbType.VarBinary).Value = Resturang.PDF_Data;
但是知道我不知道如何提取存储在我的数据库中的 pdf 文件,然后将其显示在我的 .cshtml 页面上,以便我可以查看它并可以从 -cshtml 页面下载它。
【问题讨论】:
【参考方案1】:您可能需要一个输出 PDF 的操作,例如:
public ActionResult GetDocument(int id)
TempVM model = GetViewModel();
if (model.PDF_Data.Length > 0)
return File(model.PDF_Data, model.PDF_ContentType);
else
return View("NotFound");
然后在您的输出视图中,您只需将其包含为超链接,如下所示:
@Html.ActionLink("View doc", "GetDocument", new ID = 1)
【讨论】:
谢谢伙计!你为我爱上了它!真的真的很感谢! 没问题。如果这对您有用,请考虑单击旁边的勾号 - 清除问题并将其从“打开”列表中删除。以上是关于vc++从数据库提取时间数据显示在时间控件里的主要内容,如果未能解决你的问题,请参考以下文章