MFC用VS2013实现文件存取的简单管理系统(不用数据库) 还要实现增删改查和用户管理

MFC用VS2013实现文件存取的简单管理系统(不用数据库) 还要实现增删改查和用户管理,第1张

你如果只是单纯的演示效果,首先有个sqlhelp类 (网上很多)连接字符串直接写在类里就好(项目的话读取config);然后对应每个你需要的数据获取datatable数据循环进页面就好,如果为了编码方便可以再写一个model类在循环里创建model对象,添加model的属性 前台直接绑定使用就行了其他的地方貌似没什么可说的了

using System

using System.IO

using System.Web.UI.HtmlControls

namespace JH_ProfessionCMS.Common

{

/// <summary>

/// 功能 : 上传文件 *** 作类

/// 作者 : xtx

/// </summary>

public class UpFile

{

public UpFile()

{

}

#region 是否允许该扩展名上传 IsAllowedExtension

/// <summary>

/// 是否允许该扩展名上传

/// </summary>

/// <paramname = "hifile">HtmlInputFile 控件 </param>

/// <returns>允许则返回 true, 否则返回 false </returns>

public bool IsAllowedExtension(HtmlInputFile hifile)

{

string strOldFilePath = ""

string strExtension = ""

// 允许上传的扩展名,可以改成从配置文件中读出

string[]arrExtension = {".gif",".jpg",".jpeg",".bmp",".png"}

if(hifile.PostedFile.FileName != string.Empty)

{

strOldFilePath = hifile.PostedFile.FileName

// 取得上传文件的扩展名

strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."))

// 判断该扩展名是否合法

for(int i = 0i <arrExtension.Lengthi++)

{

if(strExtension.Equals(arrExtension[i]))

{

return true

}

}

}

return false

}

#endregion

#region 判断上传文件大小是否超过最大值 IsAllowedLength

/// <summary>

/// 判断上传文件大小是否超过最大值

/// </summary>

/// <param name="hifile">HtmlInputFile 控件 </param>

/// <returns>超过最大值返回 false, 否则返回 true. </returns>

public bool IsAllowedLength(HtmlInputFile hifile)

{

// 允许上传文件大小的最大值 , 可以保存在 xml 文件中 , 单位为 KB

int i = 20

// 如果上传文件的大小超过最大值 , 返回 flase, 否则返回 true.

if(hifile.PostedFile.ContentLength >i * 1024)

{

return false

}

return true

}

#endregion

#region 获取一个不重复的文件名 GetUniqueString

/// <summary>

/// 获取一个不重复的文件名

/// </summary>

/// <returns></returns>

public string GetUniqueString()

{

// 得到的文件名形如 :20050922101010

return DateTime.Now.ToString("yyyyMMddhhmmss")

}

#endregion

#region 删除指定文件 DeleteFile

/// <summary>

/// 删除指定文件

/// </summary>

/// <param name="strAbsolutePath">文件绝对路径 </param>

/// <param name="strFileName">文件名 </param>

public void DeleteFile(string strAbsolutePath, string strFileName)

{

// 判断路径最后有没有 \ 符号,没有则自动加上

if(strAbsolutePath.LastIndexOf("\\") == strAbsolutePath.Length)

{

// 判断要删除的文件是否存在

if(File.Exists(strAbsolutePath + strFileName))

{

// 删除文件

File.Delete(strAbsolutePath + strFileName)

}

}

else

{

if(File.Exists(strAbsolutePath + "\\" + strFileName))

{

File.Delete(strAbsolutePath + "\\" + strFileName)

}

}

}

#endregion

#region 上传文件并返回文件名 SaveFile

/// <summary>

/// 上传文件并返回文件名

/// </summary>

/// <param name="hifile">HtmlInputFile 控件 </param>

/// <param name="strAbsolutePath">绝对路径 . 如 :Server.MapPath(@"Image/upload") 与 Server.MapPath(@"Image/upload/") 均可 , 用 \ 符号亦可 </param>

/// <returns>返回的文件名即上传后的文件名 </returns>

public string SaveFile(HtmlInputFile hifile,string strAbsolutePath)

{

string strOldFilePath = "",strExtension = "",strNewFileName = ""

// 如果上传文件的文件名不为空

if(hifile.PostedFile.FileName != string.Empty)

{

strOldFilePath = hifile.PostedFile.FileName

// 取得上传文件的扩展名

strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."))

// 文件上传后的命名

strNewFileName = GetUniqueString() + strExtension

// 如果路径末尾为 \ 符号,则直接上传文件

if(strAbsolutePath.LastIndexOf("\\") == strAbsolutePath.Length)

{

hifile.PostedFile.SaveAs(strAbsolutePath + strNewFileName)

}

else

{

hifile.PostedFile.SaveAs(strAbsolutePath + "\\" + strNewFileName)

}

}

return strNewFileName

}

#endregion

#region 重新上传文件,删除原有文件 CoverFile

/// <summary>

/// 重新上传文件,删除原有文件

/// </summary>

/// <param name="ffFile">HtmlInputFile 控件 </param>

/// <param name="strAbsolutePath">绝对路径 . 如 :Server.MapPath(@"Image/upload") 与 Server.MapPath(@"Image/upload/") 均可 , 用 \ 符号亦可 </param>

/// <param name="strOldFileName">旧文件名 </param>

public string CoverFile(HtmlInputFile ffFile,string strAbsolutePath,string strOldFileName)

{

// 获得新文件名

string strNewFileName = GetUniqueString()

if(ffFile.PostedFile.FileName != string.Empty)

{

// 旧图片不为空时先删除旧图片

if(strOldFileName != string.Empty)

{

DeleteFile(strAbsolutePath,strOldFileName)

}

return SaveFile(ffFile,strAbsolutePath)

}

return ""

}

#endregion

}

}

至于保存嘛,简单了,上面已经有取得路径的代码。你把数据库 *** 作加进去就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9953313.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存