access数据库获取文件夹内所有文件名
1.任意新建或找一个Access数据库文件data.mdb,这里我新建了一个data.mdb,这里有两个表User和Class。表结构如下图。
2.任意新建一个test.aspx测试页面,复制下面的内容:
protected void Page_Load(object sender, EventArgs e)
{
// access连接字符串可以把路径当做变量
string sConnStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Administrator\Desktop\WebApplication2\WebApplication2\TempFile\data.mdb;Persist Security Info=False";
// 数据源连接对象
OleDbConnection con = new OleDbConnection(sConnStr);
con.Open();
DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
con.Close();
con.Dispose();
// 遍历所有的表
string sName = "";
for (int i = 0, maxI = dt.Rows.Count; i < maxI; i++)
{
// 获取第i个Access数据库中的表名
string sTempTableName = dt.Rows[i]["TABLE_NAME"].ToString();
sName += string.Format("{0}\n", sTempTableName);
}
Response.Write(sName);
}
3.浏览页面,页面中会输出表的名称,如下图,不过从输出的表名称可以看出,以【~】开头的表名,都不是真正的表,因此需要过滤掉这些表。
4.Access数据库文件的路径,可以当做一个变量,如果是处理客户端上传的文件,可以先保存到服务器上,然后获取Access数据库连接字符串,有关如何获取Access数据库字符串,可以看我的另外一篇文章【如何查找或记忆数据库连接字符串】。
5.获取到了表名称,可以使用select * from tableName,查出来DataTable数据,最后把Access数据库中所有表名和表数据添加到DataSet对象中。
2013-06-29
<%
function bianli(path)
dim fso 'fso对象
dim objFolder '文件夹对象
dim objSubFolders '子文件夹集合
dim objSubFolder '子文件夹对象
dim objFiles '文件集合
dim objFile '文件对象
set fso=server.CreateObject("scripting.filesystemobject")
on error resume next
set ōbjFolder=fso.GetFolder(path)'创建文件夹对象
set ōbjSubFolders=objFolder.Subfolders'创建的子文件夹对象
for each objSubFolder in objSubFolders
nowpath=path + "\\" + objSubFolder.name
Response.Write nowpath
set ōbjFiles=objSubFolder.Files
for each objFile in objFiles
Response.Write "<br>---"
Response.Write objFile.name
next
Response.Write "<p>"
bianli(nowpath) '调用递归
next
set ōbjFolder=nothing
set ōbjSubFolders=nothing
set fso=nothing
end function
%>
<%
bianli("F:\") '调用bianli()函数,这里是遍历F:盘
%>遍历某文件夹下文件,并输出为XML<%@ Language=VBscript %>
<%
Response.contentType = "application/xml"
Response.Expires = 0
function bianli(path)
dim fso 'fso对象
dim objFolder '文件夹对象
dim objFiles '文件集合
dim objFile '文件对象 set fso=server.CreateObject("scripting.filesystemobject")
on error resume next
set ōbjFolder=fso.GetFolder(path)'创建文件夹对象
Response.Write "<?xml version=""1.0"" encoding=""GB2312""?>"
Response.Write ("<swf>")
set ōbjFiles=objFolder.Files
for each objFile in objFiles
Response.Write ("<swf game='"&objFile.name&"'/>")
next
Response.Write ("</swf>")
set ōbjFolder=nothing
set ōbjSubFolders=nothing
set fso=nothing
end function
%>
<%
bianli(Server.MapPath("/")+"\pic") '调用bianli()函数,这里是遍历当前目录下的pic文件夹
%> '遍例文件和文件夹,然后自己改改用用
2013-06-29
2013-06-29
2013-06-29