您的位置:程序门 -> .net技术 -> c#



请教个关于odbcconnection连接怎么写相对路径的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教个关于odbcconnection连接怎么写相对路径的问题[已结贴,结贴人:jia268]
发表于:2007-03-28 10:40:28 楼主
如题,我现在只会写绝对路径例如:public   odbcconnection   conn   =   new   odbcconnection( "driver={microsoft   access   driver   (*.mdb)};dbq=c:/program   files/depotbase.mdb;uid=管理员;pwd=123 ");    

怎么才能把dbq=后面写成相对路径啊?不要盘符啥的....我是连的access库    

我把dbq=写成   dbq   =   "   +   system.windows.forms.application.startuppath   +   "\\depotbase.mdb;   也不好使...    
或把数据库文件和程序放一起或放bin目录下,dbq=直接写库名也不好使,郁闷了...    

哪位高人帮我下谢谢!    

这个问题我问了好久了也没人能帮助我...涉及这个问题的程序已编写的差不多了,就是连接类里还是绝对路径中......郁闷啊.....
发表于:2007-03-28 10:43:291楼 得分:0
把数据库文件放在bin目录下,然后再写相对路径:system.windows.forms.application.startuppath   +   "\\depotbase.mdb ";
你可以调试一下看看system.windows.forms.application.startuppath   +   "\\depotbase.mdb "是不是就是你的bin目录。
发表于:2007-03-29 13:01:012楼 得分:0
楼上的哥们,照你的方法做,提示如下:

未处理的“system.data.odbc.odbcexception”类型的异常出现在   system.data.dll   中。

其他信息:   error   [hy000]   [microsoft][odbc   microsoft   access   driver]   文件名无效。
error   [im006]   [microsoft][odbc   驱动程序管理器]   驱动程序的   sqlsetconnectattr   失败
error   [hy000]   [microsoft][odbc   microsoft   access   driver]   文件名无效。
发表于:2007-03-29 13:11:193楼 得分:0
static   string   connstring   =   @ "provider=microsoft.jet.oledb.4.0;data   source= "   +   application.startuppath   +   @ "\depotbase.mdb ";

在我机器上测试通过
发表于:2007-03-29 13:12:404楼 得分:0
非常有趣,监视的值和路径已经符合了,可惜就是提示   文件名无效.....
以下为调试时监视的串值:
"driver={microsoft   access   driver   (*.mdb)};dbq   =   c:\\documents   and   settings\\jason\\my   documents\\visual   studio   2005\\projects\\depot\\depot\\bin\\debug\\depotbase.mdb;uid=管理员;pwd=kucunguanli123 "

哪位老大再帮我看看啊
发表于:2007-03-29 13:17:525楼 得分:0
把数据库考到debug目录下就ok了
发表于:2007-03-29 13:24:496楼 得分:0
学习ing   ...
发表于:2007-03-29 13:26:467楼 得分:0
using   system.windows.form;
...
...

system.windows.forms.application.startuppath   +   "\\depotbase.mdb ";
发表于:2007-03-29 14:38:428楼 得分:0
楼上的哥们,using   system.windows.forms;我也导了,文件一直都是放在debug下的.....system.windows.forms.application.startuppath   +   "\\depotbase.mdb ";调试时监视的路径也和实际物理路径相吻合,即时监视的值为c:\\documents   and   settings\\jason\\my   documents\\visual   studio   2005\\projects\\depot\\depot\\bin\\debug\\depotbase.mdb;.....
错误依旧的.........
发表于:2007-03-29 15:10:159楼 得分:20
数据库拷贝到debug下测试通过


using   system;
using   system.windows.forms;
using   system.collections.generic;
using   system.text;
using   system.data.oledb;
using   system.data;

namespace   myadotest
{
        public   class   dataaccesstierclass
        {
                public   oledbconnection   con;
                public   oledbdataadapter   dadapter;
                public   dataset   dset;
                public   string   constring=@ "provider=microsoft.jet.oledb.4.0;data   source= "+application   .startuppath+@ "\persondatabase.mdb ";
                public   bool   fngetdataconnection()
                {
                        try
                        {
                                con   =   new   oledbconnection(constring);
                                con.open();
                                dadapter   =   new   oledbdataadapter( "select   *   from   persontable ",   con);
                                dset   =   new   dataset();
                                dadapter.fill(dset,   "persontable ");
                               
                        }
                        catch   (exception   ex)
                        {
                                messagebox.show( "error: "   +   ex.message);
                                return   false;
                        }
                        return   true;
                }

        }
}
发表于:2007-03-29 16:54:5210楼 得分:0
大哥.....你的是oledb.....我说的是odbc啊....oledb的我也懂的....
发表于:2007-03-29 17:00:4011楼 得分:0
闹心就在这里啊,网上关于oledbconnection的相对路径的资料不少,可关于odbc的却基本没有,当初我听信别人谗言选了odbc,看中的就是odbc比较底层,速度能快点,没想到它的相对路径这种事也能成问题.......
发表于:2007-03-29 17:09:1312楼 得分:0
大哥帮不了你了,呵呵
发表于:2007-03-30 08:16:1813楼 得分:0
..........郁闷ing,谁还能帮我下?


快速检索

最新资讯
热门点击