仓酷云
标题:
ASP.NET网站制作之利用.Net C#开辟批量ACCESS数据库紧缩软...
[打印本页]
作者:
谁可相欹
时间:
2015-1-16 22:23
标题:
ASP.NET网站制作之利用.Net C#开辟批量ACCESS数据库紧缩软...
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。第一次写利用.NETC#开辟了一个稍稍像模样的软件,在这个软件开辟过程当中我查了很多多少材料,也学到了良多小技能像FolderBrowserDialog(用于扫瞄选择文件夹的对话框)、MessageBox(动静处置对话框)、DirectoryInfo(目次信息,可用于创立、检测是不是存在等对目次的操纵)、FileInfo(文件信息,可用于文件的检测、文件信息的猎取、复制等操纵)、DataGridView(数据表格控件,用于显现文件信息列表数据)、DataRowView(对一些数据源信息举行选择,排序)、System.Diagnostics.Process.Start(启动别的程序翻开文件夹目次),上面就顺次先容一下在此软件开辟中我都利用到以上控件、工具的哪些内容。
1、
FolderBrowserDialog(文件夹扫瞄对话框)
,在此软件顶用于翻开选择数据库根目次或翻开创立、选择备份目次,上面是两处地位的代码具体先容。
1.选择数据库目次,在此处不必要新建文件夹,因而屏障新建文件夹按钮。
C#代码
FolderBrowserDialogdf=newFolderBrowserDialog();
//设置文件扫瞄对话框上的形貌内容
df.Description="选择一切数据库文件地点根目次地点";
//不显现对话框下方的创立新文件夹按钮
df.ShowNewFolderButton=false;
/*
判别是不是已间接输出文件夹目次地点,假如存在则将此值赋于对话框的已选地点,如许就能够让对话框显现您前次选择或增加的目次地点了。
*/
if(tBoxDbRoot.Text!="")
{
df.SelectedPath=tBoxDbRoot.Text;
}
else
{
df.RootFolder=Environment.SpecialFolder.MyComputer;//指定对话框默许显现的根目次地点注重RootFolder的吸收数据范例
}
//显现文件夹对话框,并前往对话框处置了局数值
DialogResultresult=df.ShowDialog();
if(result==DialogResult.OK)//别的一种判别办法if(df.ShowDialog(this)==DialogResult.OK)
{
//将中的数据库目次地点赋于类全局变量数据库根目次
stringfolderPath=df.SelectedPath;
if(folderPath!="")
{
tBoxDbRoot.Text=folderPath;
Cls_dbRootPath=tBoxDbRoot.Text;
}
}
2.选择数据库备份目次或创立新的数据库备份目次
C#代码
FolderBrowserDialogbakFolder=newFolderBrowserDialog();
bakFolder.Description="选择一切数据库文件备份目次";
//这里没有计划bakFolder.ShowNewFolderButton是由于默许些按钮是显现的。
if(Cls_dbBackRootPath!="")
{
bakFolder.SelectedPath=Cls_dbBackRootPath;
}
else
{
bakFolder.RootFolder=Environment.SpecialFolder.MyComputer;
}
if(bakFolder.ShowDialog(this)==DialogResult.OK)
{
Cls_dbBackRootPath=bakFolder.SelectedPath;
//这里省略了入手下手处置实行数据库备份的代码...
}
2、
MessageBox(动静对话框)
实在他也没有甚么好先容的,只利用到了它的动静形态前往实行别的代码和一般的动静提醒显现。
1.具有动静了局前往的处置代码
C#代码
DialogResultresultNum=MessageBox.Show("数据库文件已备份到“"+Cls_dbBackRootPath+"”,是不是翻开备份目次?","数据库备份乐成",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
if(resultNum==DialogResult.Yes)//判别是不是按下“是”的按钮
{
openDirectoryAddress(Cls_dbBackRootPath);
}
这里就不必要再做先容了,看一下动静对话框的几个参数都分离是甚么
2.以分歧姿势显现的动静对话框
C#代码
MessageBox.Show("这里是动静的提醒内容","动静的提醒题目",动静对话框上显现的按钮,动静对话框上显现的提醒图标);
3、
DirectoryInfo(目次信息)
检测目次是不是存在、创立目次文件夹在软件中次要用于剖析并创立指定的文件地点字符串中各级目次
1.检测目次是不是存在利用Exists办法
C#代码
DirectoryInfocurFolderRoot=newDirectoryInfo(Cls_dbRootPath);//指定必要检测的文件夹物理地点
if(curFolderRoot.Exists)
{
//...
}
2.创立目次利用Create()办法
C#代码
DirectoryInfocurFolderRoot=newDirectoryInfo(Cls_dbRootPath);//指定必要检测的文件夹物理地点
if(curFolderRoot.Exists)
{
curFolderRoot.Create()
}
4、
FileInfo(文件信息)
猎取文件信息、复制、删除文件等,将指定文件夹下的切合前提的文件的相干信息顺次写进DataGridView控件。
1.猎取文件信息代码:
C#代码
FileInfodbFile=newFileInfo(dbPath);
写进DataGridView控件的某行某列上
dGrideFileList.Rows[rowsNum].Cells[1].Value=dbFile.Length;
修正工夫写进
dGrideFileList.Rows[rowsNum].Cells[5].Value=dbFile.LastWriteTime.ToString();
2.检测文件是不是存在实行删除复制操纵
C#代码
FileInfocopyFile=newFileInfo(copyToPath);
检测文件是不是存在
if(copyFile.Exists)
{
//假如存在文件则实行删除操纵
File.Delete(copyToPath);
}
实行文件的复制操纵
File.Copy(dbPath,copyToPath);
5、
DataGridView(数据表格控件)
用于显现、更新、删除等对数据列表的操纵
1.将遍历切合请求的数据增加到控件
C#代码
filesTotelSize+=curDbFile.Length;
//将文件信息写进字符串数组
string[]fileInfoArr=newstring[]{
curDbFile.FullName.Replace(Cls_dbRootPath,"").ToString(),
CheckFile.FormatSize(curDbFile.Length),
"0",
"未紧缩",
CheckFile.GetTypeName(filePath),
curDbFile.LastWriteTime.ToString()
};
//将文件行数组数据增加至控件行会合
dGrideFileList.Rows.Add(fileInfoArr);
//革新控件显现
dGrideFileList.Refresh();
2.让控件垂直转动条主动转动
C#代码
dGrideFileList.FirstDisplayedScrollingRowIndex=i;
dGrideFileList.Refresh();
3.光标定位跟从遍历定位到控件单位格
C#代码
dGrideFileList.CurrentCell=dGrideFileList.Rows
.Cells[0];
dGrideFileList.Refresh();
4.DataRowView删除控件选中行
C#代码
//删除选中行数据
if(this.dGrideFileList.SelectedRows.Count>0)
{
DataRowViewdrv=dGrideFileList.SelectedRows[0].DataBoundItemasDataRowView;
drv.Delete();
}
6、
Process启动
Exporler.exe翻开指定物理地点文件夹
C#代码
#region翻开目次地点
///<summary>
///翻开目次地点
///</summary>
///<paramname="dirAddress">必要翻开的文件夹目次物理地点</param>
privatevoidopenDirectoryAddress(stringdirAddress)
{
DirectoryInfodirFolder=newDirectoryInfo(dirAddress);
if(dirFolder.Exists)
{
System.Diagnostics.Process.Start("explorer.exe",dirAddress);
}
else
{
MessageBox.Show("未找到必要翻开的目次地点","毛病提醒",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
#endregion
你觉得数据库怎么样?
作者:
变相怪杰
时间:
2015-1-19 09:57
Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
作者:
再见西城
时间:
2015-1-26 15:20
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
作者:
admin
时间:
2015-2-4 19:32
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
作者:
飘飘悠悠
时间:
2015-2-10 05:50
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。
作者:
飘灵儿
时间:
2015-2-28 22:26
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
作者:
简单生活
时间:
2015-3-10 09:08
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
作者:
柔情似水
时间:
2015-3-17 06:11
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
作者:
小女巫
时间:
2015-3-24 00:01
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2