当前位置: 首页>>代码示例>>C#>>正文


C# RmsChannel.DoInitialDB方法代码示例

本文整理汇总了C#中DigitalPlatform.rms.Client.RmsChannel.DoInitialDB方法的典型用法代码示例。如果您正苦于以下问题:C# RmsChannel.DoInitialDB方法的具体用法?C# RmsChannel.DoInitialDB怎么用?C# RmsChannel.DoInitialDB使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DigitalPlatform.rms.Client.RmsChannel的用法示例。


在下文中一共展示了RmsChannel.DoInitialDB方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateDatabase

        // 根据数据库模板的定义,创建一个数据库
        int CreateDatabase(RmsChannel channel,
            string strTemplateDir,
            string strDatabaseName,
            out string strError)
        {
            strError = "";

            int nRet = 0;

            List<string[]> logicNames = new List<string[]>();

            string[] cols = new string[2];
            cols[1] = "zh";
            cols[0] = strDatabaseName;
            logicNames.Add(cols);


            string strKeysDefFileName = PathUtil.MergePath(strTemplateDir, "keys");
            string strBrowseDefFileName = PathUtil.MergePath(strTemplateDir, "browse");

            nRet = ConvertGb2312TextfileToUtf8(strKeysDefFileName,
                out strError);
            if (nRet == -1)
                return -1;

            nRet = ConvertGb2312TextfileToUtf8(strBrowseDefFileName,
                out strError);
            if (nRet == -1)
                return -1;

            string strKeysDef = "";
            string strBrowseDef = "";

            StreamReader sr = null;

            try
            {
                sr = new StreamReader(strKeysDefFileName, Encoding.UTF8);
                strKeysDef = sr.ReadToEnd();
                sr.Close();
            }
            catch (Exception ex)
            {
                strError = "装载文件 " + strKeysDefFileName + " 时发生错误: " + ex.Message;
                return -1;
            }


            try
            {
                sr = new StreamReader(strBrowseDefFileName, Encoding.UTF8);
                strBrowseDef = sr.ReadToEnd();
                sr.Close();
            }
            catch (Exception ex)
            {
                strError = "装载文件 " + strBrowseDefFileName + " 时发生错误: " + ex.Message;
                return -1;
            }


            long lRet = channel.DoCreateDB(logicNames,
                "", // strType,
                "", // strSqlDbName,
                strKeysDef,
                strBrowseDef,
                out strError);
            if (lRet == -1)
            {
                strError = "创建数据库 " + strDatabaseName + " 时发生错误: " + strError;
                return -1;
            }

            lRet = channel.DoInitialDB(strDatabaseName,
                out strError);
            if (lRet == -1)
            {
                strError = "初始化数据库 " + strDatabaseName + " 时发生错误: " + strError;
                return -1;
            }

            // 增补其他数据从属对象

            /*
            List<string> subdirs = new List<string>();
            // 创建所有目录对象
            GetSubdirs(strTemplateDir, ref subdirs);
            for (int i = 0; i < subdirs.Count; i++)
            {
                string strDiskPath = subdirs[i];

                // 反过来推算为逻辑路径
                // 或者预先在获得的数组中就存放为部分(逻辑)路径?
                string strPath = "";

                // 在服务器端创建对象
                // parameters:
                //      strStyle    风格。当创建目录的时候,为"createdir",否则为空
                // return:
//.........这里部分代码省略.........
开发者ID:paopaofeng,项目名称:dp2,代码行数:101,代码来源:AppDatabase.cs

示例2: menu_initialDB

		// 初始化数据库
		void menu_initialDB(object sender, System.EventArgs e)
		{
			if (this.SelectedNode == null)
			{
				MessageBox.Show(this, "尚未选择要初始化的数据库节点");
				return;
			}
			
			if (this.SelectedNode.ImageIndex != RESTYPE_DB)
			{
				MessageBox.Show(this, "所选择的节点不是数据库类型。请选择要初始化的数据库节点。");
				return;
			}

			ResPath respath = new ResPath(this.SelectedNode);

			string strText = "你确实要初始化位于服务器 '"+respath.Url+"' 上的数据库 '"+respath.Path + "' 吗?\r\n\r\n警告:数据库一旦被初始化,其中包含的原有数据将全部被摧毁,并且无法恢复!";

			DialogResult msgResult = MessageBox.Show(this,
				strText,
				"初始化数据库",
				MessageBoxButtons.OKCancel,
				MessageBoxIcon.Question,
				MessageBoxDefaultButton.Button2);
				
			if (msgResult != DialogResult.OK) 
			{
				MessageBox.Show(this, "初始化数据库操作被放弃...");
				return;
			}


			this.channel = Channels.GetChannel(respath.Url);

			Debug.Assert(channel != null, "Channels.GetChannel() 异常");


			string strError = "";

#if NO
			DigitalPlatform.Stop stop = null;

			if (stopManager != null) 
			{
				stop = new DigitalPlatform.Stop();

                stop.Register(this.stopManager, true);	// 和容器关联

                stop.OnStop += new StopEventHandler(this.DoStop);
				stop.Initial("正在初始化数据库: " + respath.FullPath);
				stop.BeginLoop();

			}
#endif
            DigitalPlatform.Stop stop = PrepareStop("正在初始化数据库: " + respath.FullPath);

			long lRet = channel.DoInitialDB(respath.Path, out strError);

            EndStop(stop);
#if NO
			if (stopManager != null) 
			{
				stop.EndLoop();
                stop.OnStop -= new StopEventHandler(this.DoStop);
				stop.Initial("");

				stop.Unregister();	// 和容器脱离关联
			}
#endif

			this.channel = null;

			if (lRet == -1) 
			{
				MessageBox.Show(this, strError);
			}
			else 
			{
				MessageBox.Show(this, "位于服务器'"+respath.Url+"'上的数据库 '"+respath.Path+"' 被成功初始化。");
			}
		}
开发者ID:paopaofeng,项目名称:dp2,代码行数:82,代码来源:ResTree.cs


注:本文中的DigitalPlatform.rms.Client.RmsChannel.DoInitialDB方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。