1.新建物理模型
File-New 打开新窗口后选择 Physical Data Model
2.创建数据源
DataBase-Configure Connections 打开新窗口后 Ctrl+N
3.新建表或视图
4.生成表到数据库中 PowerDesigner-DataBase 正向过程
菜单DataBase-Generate DataBase 或 Ctrl+G 生成数据库表及视图。 注:此过程适合系统第一次初始化时使用。
菜单DataBase-Generate DataBase 或 Ctrl+G 生成数据库表及视图。
注:此过程适合系统第一次初始化时使用。
5.修改数据库中的表结构 PowerDesigner-DataBase 正向过程
菜单DataBase-Generate DataBase 修改数据库表及视图
6.把数据库的表结构更新到PowerDesigner中 DataBase-PowerDesigner 反向过程
菜单DataBase-Reverse Enginner DataBase 或 Ctrl+R 从数据库中反向生成数据库表到PowerDesigner中 菜单Tools-Execute Commands 打开并执行Comment2Name2.vbs脚本 注:(该脚本的功能是把从数据库中反向来的备注的内容填充到字段名称中 当然数据库的备注是必需有内容本脚本才能有效果,数据库备注内容注意点 有些标志位在备注中填入 记入标志 1-记入 0-不记入 。为减少在名称中的长度 请在标志后加一个空格 本脚本只会把空格前内容填充到字段名称中)
菜单DataBase-Reverse Enginner DataBase 或 Ctrl+R 从数据库中反向生成数据库表到PowerDesigner中
菜单Tools-Execute Commands 打开并执行Comment2Name2.vbs脚本
注:(该脚本的功能是把从数据库中反向来的备注的内容填充到字段名称中
当然数据库的备注是必需有内容本脚本才能有效果,数据库备注内容注意点
有些标志位在备注中填入 记入标志 1-记入 0-不记入 。为减少在名称中的长度
请在标志后加一个空格 本脚本只会把空格前内容填充到字段名称中)
小技巧:
1.要是不喜欢在写Name时Code被Name自动更新掉 可以把这个选项去掉 菜单Tools-General Options打开新窗口中选择Dialog中有个Name to Code mirroring复选框 Comment2Name.vbs
1.要是不喜欢在写Name时Code被Name自动更新掉 可以把这个选项去掉
菜单Tools-General Options打开新窗口中选择Dialog中有个Name to Code mirroring复选框
Comment2Name.vbs
对于网上那些所说的
"顺时针的话,属于是用右脑较多的类型 逆时针属于是用左脑较多的类型 大部分人的眼里是逆时针方向转动,但也有人看来是顺时针方向转动的。 顺时针的情况,女性比男性多~~ 逆时针转动的,突然变成顺时针的话,IQ是160以上!!!! "
这段话没有科学根据
实际情况是这样子的 我用ImageReady把那张gif图片打开来看过就知道是为什么会这样子了 贴网上一位朋友的原话:------------------------------------------------------------------
其实图片没有太大玄机
图片的原理 就想照镜子 当你在镜子前转动 你的顺时针 就等于 镜子里的逆时针 但两个物体在镜子上的成像 是一样的.
图片能产生 顺时/逆时 的原因 是因为图片提供的只是一个黑影 使我们不能100%肯定自己眼中看到的是正面还是背面 就如同一幅图 你无法肯定他抬起的是左腿还是右腿
西北方45度角的成象 和 西南方45度角的成象 是一模一样的 右腿抬起顺时针转半圈 和 左腿抬起逆时针转半圈 的成象 是一模一样的 所以...这人顺时针转 和 逆时针转 的成象 是一模一样的
就象一句有歧异的句子: 他父亲到医院做手术 谁能说出 这句话的意思?
不过倒佩服把这幅图想出来的人.
-------------------------------------------------------------------
1.
调用Excel 时 发生错误类型初始值设定项引发异常 System.UnauthorizedAccessException: 拒绝在Dcom中的Excel中增加权限即可开始-运行 输入 dcomcnfg 组件服务-计算机-我的电脑-DCOM配置-Microsoft Excel应用程序
右击-属性 在安全选项卡的 访问权限中 编辑 增加 Everyone的相应权限 就可以了.
2.PL/SQL 可以连上数据库Web程序连不上数据库会出现 TNS:无法处理服务名的错误。把oracle目录下的bin目录增加IIS相关的两个权限即可。
转自http://lovecherry.cnblogs.com/archive/2005/03/25/125527.aspx,在很多应用中需要做windows服务来操作数据库等操作,比如(1)一些非常慢的数据库操作,不想一次性去做,想慢慢的通过服务定时去做,比如定时为数据库备份等(2)在.net Remoting中利用windows服务来做Host
利用vs.net我们可以在几分钟之内建立其windows服务,非常简单
下面说一下步骤1. 新建一个项目2. 从一个可用的项目模板列表当中选择Windows服务3. 设计器会以设计模式打开4. 从工具箱的组件表当中拖动一个Timer对象到这个设计表面上 (注意: 要确保是从组件列表而不是从Windows窗体列表当中使用Timer) 5. 设置Timer属性,Interval属性200毫秒(1秒进行5次数据库操作)6. 然后为这个服务填加功能7.双击这个Timer,然后在里面写一些数据库操作的代码,比如 SqlConnection conn=new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=275280"); SqlCommand comm=-new SqlCommand("insert into tb1 ('111',11)",conn); conn.Open(); comm.ExecuteNonQuery(); conn.Close();也可以写文件,这个只是我测试用的
8. 将这个服务程序切换到设计视图9. 右击设计视图选择“添加安装程序”10. 切换到刚被添加的ProjectInstaller的设计视图11. 设置serviceInstaller1组件的属性: 1) ServiceName = My Sample Service 2) StartType = Automatic (开机自动运行)12. 设置serviceProcessInstaller1组件的属性 Account = LocalSystem13. 改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)14. 执行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。(InstallUtil这个程序在WINDOWS文件夹\Microsoft.NET\Framework\v1.1.4322下面)15. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台16. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了17. 右击你的服务选择启动就可以启动你的服务了看看数据库是不是一秒多了5个记录啊
需要注意的是:如果你修改了这个服务,路径没有变化的话是不需要重新注册服务的,如果路径发生了变化,需要先卸载这个服务InstallUtil.exe /u参数,然后再重新安装这个服务,不能直接安装。还有就是windows服务是没有界面的,不要企图用控制的输出方式来输出一些信息,你只能添加一个EventLog,通过WriteEntry()来写日志。
关于怎么用windows服务来做一个远程服务可以看一下http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetHT15.aspps:如果是用到Timer第4步要注意,刚开始我就是用Windows窗体中的Timer,怎么试用也没有,一定要用组件选项卡中Timer
System.StackOverflowException
两个类互相调用,出现这个异常,不过这只是一种可能性,参考里是另一种,其他情况Google
class A(){ B() b = new B(); ...}
class B(){ A() a = new A(); ...}
参考:
StackOverflowException 因执行堆栈溢出错误引发,通常在存在非常深的递归或无界递归时发生。LocallocMicrosoft 中间语言 (MSIL) 指令引发 StackOverflowException。
Represents the error that occurs when the execution stack overflows due to too many method calls.
[Note: StackOverflowException is thrown for execution stack overflow errors, typically in the case of a very deep or unbounded recursion. The localloc IL instruction throws StackOverflowException. ]
The localloc IL instruction throws StackOverflowException.
]
The following example demonstrates an error that causes a StackOverflowException exception. using System; public class StackOverflowExample { public static void recursion() { recursion(); } public static void Main() { try { recursion(); } catch(StackOverflowException e) { Console.WriteLine("Error caught: {0}", e); } } } The output is Error caught: System.StackOverflowException: Exception of type System.StackOverflowException was thrown.
using System; public class StackOverflowExample { public static void recursion() { recursion(); } public static void Main() { try { recursion(); } catch(StackOverflowException e) { Console.WriteLine("Error caught: {0}", e); } } }
Error caught: System.StackOverflowException: Exception of type System.StackOverflowException was thrown.