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++从数据库提取时间数据显示在时间控件里的主要内容,如果未能解决你的问题,请参考以下文章

gridview控件里的时间怎样才能只显示年月日

在日期控件中提取日期数据,并在另一个文本框中显示其年份加1 |

vc 怎么从word里提取图片

VC++对话框里新添加的控件运行时不显示

怎么从接口里获取数据、、

从数据库中提取数据时如何在 GridView 中仅显示日期? C#