2861|6

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于在ce5.0下使用adoce.net操作sql ce 2.0的程序问题 [复制链接]

您们好!
    如标题。我一定套路的模式配好了所有的东西,就差用程序实现访问ce2.0了~但是我怎么写也无法读取~
    我用的公布的VORecordset类和voconnection类。我没有对他进行任何修改
    我得程序是这样子的:如下:
         CenterWindow(GetDesktopWindow());        // center to the hpc screen
        // TODO: Add extra initialization here
        //1.注册DLL
        CreateProcess(_T("\RegSvrCe"),_T("/s \Windows\\adoce31.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
        CreateProcess(_T("\RegSvrCe"),_T("/s \Windows\\Adoxce31.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
        CreateProcess(_T("\RegSvrCe"),_T("/s \Windows\\Adocedb31.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
        CreateProcess(_T("\RegSvrCe"),_T("/s \Windows\\Adoceoledb31.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
        CreateProcess(_T("\RegSvrCe"),_T("/s \Windows\\Msdaer.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
        CreateProcess(_T("\RegSvrCe"),_T("/s \Windows\\Msdaeren.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
        CreateProcess(_T("\RegSvrCe"),_T("/s \Windows\\msdadc.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
        CreateProcess(_T("\RegSvrCe"),_T("/s \Windows\\msdaosp.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
                 CString s_Sql;
        s_Sql=_T("SELECT * FROM PhoneNumber");
        LoadTable(s_Sql);

void CPhoneNumberDlg::LoadTable(LPCTSTR s_Sql)
{
        CVOConnection *m_Conn;
        CVORecordset *m_Set;
        CString sdfName;
        sdfName=_T("//My Documents//Phone.sdf");//这里的路径写的对么?
        m_Conn=new CVOConnection(sdfName);
        //m_Conn->Excute(s_Sql);
        m_Set=new CVORecordset(*m_Conn);
        m_Set->Initialize();
        if(m_Set->Open(s_Sql,adOpenForwardOnly,adLockPessimistic))
                     AfxMessageBox(_T("打开数据库失败!"));---------------------//我的程序运行到这里时,显示了“打开数据库失败”
        //加载表格
        if(m_Set->IsBOF()||m_Set->IsEOF())
        {
                AfxMessageBox(_T("数据库中没有相关记录!"));
                m_Set->Close();
                delete m_Set;
                delete m_Conn;
                return;
        }
        m_Set->MoveFirst();
        int Total=0;
        m_ctrlListPhoneNumber.DeleteAllItems();
        while(!m_Set->IsEOF())
        {
                m_ctrlListPhoneNumber.InsertItem(Total,m_Set->GetFieldValueString(0),-1);
                m_ctrlListPhoneNumber.SetItemText(Total,1,m_Set->GetFieldValueString(1));

                Total++;
                m_Set->MoveNext();
        }

        m_Set->Close();
        delete m_Set;
        delete m_Conn;
        return;
}

我觉得我其他的设置都没有问题,这是为什么呢?为什么总是不能open? 我是在模拟器下运行测试的

最新回复

ok我解决了~我换了另外一个例子运行成功了,然后一知道我的程序中了~谢谢大家~虽然我还不知道我那个为什么不行~不过可以应急了~结帖了!  详情 回复 发表于 2008-1-7 19:48
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
看看那些函数的返回值是什么,然后找到对应的内容就好办了啊.
那些DLL文件是不是在模拟器下用的?
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
是的~那些dll文件是在模拟器下用的。应该是    因为那些emulator下的dll文件好像都不太管用尤其是查询分析器,我只能用i486文件夹下的东西了
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
我是菜鸟~我不知道~不过让我看先把

  1. sdfName=_T("//My   Documents//Phone.sdf");//这里的路径写的对么?
复制代码

改为

  1. sdfName=_T("\\My   Documents\\Phone.sdf");
复制代码

试试看~
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

5
 
呵呵,对了,那些DLL文件是反的,EMULATOR里的用在设备中,设备里的用在EMULATOR里.嘿嘿
楼上这么一说,路径是错的..
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

6
 
up
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
ok我解决了~我换了另外一个例子运行成功了,然后一知道我的程序中了~谢谢大家~虽然我还不知道我那个为什么不行~不过可以应急了~结帖了!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表