免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 2188|回复: 7
收起左侧

[求助] AE开发,创建数据库报错。

[复制链接]

6

主题

4万

铜板

4

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
44222
发表于 2014-7-14 10:17 | 显示全部楼层 |阅读模式
//新建数据库窗体代码
  public partial class CreateDatabase : Form
    {
        public CreateDatabase()
        {
            InitializeComponent();
        }
        string filePath;
        public string FilePath
        {
            get { return filePath; }
            set { filePath = value; }
        }
        string fileName;
        public string FileName
        {
            get { return fileName; }
            set { fileName = value; }
        }
        IWorkspace newWorkspace;
        //新建工作空间
        public IWorkspace NewWorkspace
        {
            get { return newWorkspace; }
            set { newWorkspace = value; }
        }
        //浏览工作空间目录
        private void btDirect_Click(object sender, EventArgs e)
        {
            
              if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
                {
                    this.txtDirect.Text = this.folderBrowserDialog1.SelectedPath;
                }
           
        }
        //创建数据库
        private void btCreate_Click(object sender, EventArgs e)
        {
           
                filePath = this.txtDirect.Text.ToString().Trim();
                fileName = this.txtDbName.Text.ToString().Trim();
                if (filePath == "") return;
                IWorkspaceFactory workspaceFactory = new AccessWorkspaceFactoryClass();
                IWorkspaceName workspaceName = workspaceFactory.Create(filePath, fileName, null, 0);
                IName name = workspaceFactory as IName;  
                IWorkspace workspace = (IWorkspace)name.Open();
                //newWorkspace = workspace;
                this.Close();
                this.Dispose();
        }
       //取消
        private void btCancel_Click(object sender, EventArgs e)
        {
         
                this.Close();
                this.Dispose();
         
        }  
    }



//变量
  //全局个人数据库目录
        string m_FullPath;
        //全局数据库名
        string m_FullDatasetName;
        //当前的工作空间
        IWorkspace m_Workspace;
        //工作空间列表
        ArrayList m_WorkspaceList = new ArrayList();

//调用窗体代码
    private void 创建数据库ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CreateDatabase createDatabase = new CreateDatabase();
            m_FullDatasetName = createDatabase.FileName;
            m_FullPath = createDatabase.FilePath;
            m_Workspace = createDatabase.NewWorkspace;
            m_WorkspaceList.Add(m_Workspace);
            createDatabase.ShowDialog();
            refreshTree();
        }

//问题描述,  点击创建数据库,窗体弹出,选择数据库保存位置,点击创建,(提示未将对象引用到实例,但是数据库还是创建了,不创建数据库点击取消还是报(未将对象引用到实例))。  谁知道哪里错了,帮我解决下,万分感激!谢谢!

1

主题

4711

铜板

5

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
11612
发表于 2014-7-14 14:34 | 显示全部楼层

回帖奖励 +5 个铜板

调试吧。某个地方引用了空的变量
回复 支持 反对

使用道具 举报

6

主题

4万

铜板

4

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
44222
 楼主| 发表于 2014-7-14 16:09 | 显示全部楼层
forllu 发表于 2014-7-14 14:34
调试吧。某个地方引用了空的变量

调试了,貌似是新建工作空间,newWorkspace  为空的原因,不知道怎么改啊,求解。。
回复 支持 反对

使用道具 举报

1

主题

4711

铜板

5

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
11612
发表于 2014-7-15 11:42 | 显示全部楼层
本帖最后由 forllu 于 2014-7-15 11:47 编辑

m_FullDatasetName = createDatabase.FileName;
            m_FullPath = createDatabase.FilePath;
            m_Workspace = createDatabase.NewWorkspace;
    这一段的问题吧?
回复 支持 反对

使用道具 举报

1

主题

4711

铜板

5

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
11612
发表于 2014-7-15 11:47 | 显示全部楼层
代码逻辑有问题,
回复 支持 反对

使用道具 举报

6

主题

4万

铜板

4

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
44222
 楼主| 发表于 2014-7-15 14:32 | 显示全部楼层
forllu 发表于 2014-7-15 11:47
代码逻辑有问题,

...  你知道问题出在那里了吗?  这是书上面的一个例子。
回复 支持 反对

使用道具 举报

1

主题

4711

铜板

5

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
11612
发表于 2014-7-15 16:21 | 显示全部楼层
m_FullDatasetName = createDatabase.FileName;
            m_FullPath = createDatabase.FilePath;
            m_Workspace = createDatabase.NewWorkspace;
就是这里啊  createDatabase刚初始化,filename、filepath和NewWorkspace哪来的的值 。。。你那什么误导人的书。。。{:soso_e127:}
回复 支持 反对

使用道具 举报

37

主题

2万

铜板

111

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
5763
发表于 2022-3-17 16:25 | 显示全部楼层
进来学习学习,看看
回复 支持 反对

使用道具 举报

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

本版积分规则

在线客服
快速回复 返回顶部 返回列表