当前位置:编程学习 > C#/ASP.NET >>

请帮看下这两句的区别

string txtconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\工作计划管理.mdb";
string txtconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Application .StartupPath + "\\工作计划管理.mdb";

第二句的数据库是从E盘复制过去的,为什么用第一句时可以,但第二句就查询不出来数据? --------------------编程问答-------------------- Application.StartupPath  不要空格。

你的程序必须在 e:\ --------------------编程问答-------------------- 用第二句应该把数据源放置到文件的bin下面,检查一下。

string txtconn1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\工作计划管理.mdb";
string txtconn2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Application .StartupPath + "\\工作计划管理.mdb";

如果出现问题,设置断点看看txtcoon1和txtcoon2是否一致。 --------------------编程问答-------------------- Application .StartupPath 
看意思已经明白了。这个叫起始路径,什么是起始路径?创建快捷方式后,你可以修改这个起始路径的。如果没有用快捷方式,则表示程序(exe文件)所在的目录下。 --------------------编程问答-------------------- System.AppDomain.CurrentDomain.BaseDirectory
     获取程序的基目录。
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
     获取和设置包括该应用程序的目录的名称。
System.Windows.Forms.Application.StartupPath
     获取启动了应用程序的可执行文件的路径
文件夹下文件是否存在 --------------------编程问答-------------------- 用第二句我把数据源放置到文件的Debug下面 --------------------编程问答-------------------- 标题栏能出来,但就是里面的内容出不来

调试发现两句的值是一样的  真的搞不明白了 --------------------编程问答--------------------  Application .StartupPath  这个结果是什么?? --------------------编程问答-------------------- 结果是:D:\My Documents\Visual Studio 2008\Projects\Project\Project\bin\Debug --------------------编程问答-------------------- 友情帮顶~! --------------------编程问答-------------------- 友情帮顶! --------------------编程问答-------------------- --------------------编程问答-------------------- 第二句文件应该在D:\My Documents\Visual Studio 2008\Projects\Project\Project\bin\Debug目录下 --------------------编程问答-------------------- string txtconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\工作计划管理.mdb";
这个可以理解为绝对路径。

string txtconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Application .StartupPath + "\\工作计划管理.mdb";
这个是相对路径。Application .StartupPath 是当前路径,程序所在的位置。

--------------------编程问答-------------------- System.IO.File.Exists(Application.StartupPath + "\\工作计划管理.mdb")看看文件是否存在? --------------------编程问答--------------------
引用 13 楼 hovahw 的回复:
string txtconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\工作计划管理.mdb";
这个可以理解为绝对路径。

string txtconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Application .StartupPath + "\\工作计划管理.……

绝对路径是固定的路径,不能改变数据源的位置,否则就找不到数据远了,
第二句是相对路径,系统会在当前运行的目录下搜索数据源。不随路径的改变而改变 --------------------编程问答-------------------- 来学习  学习    
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,