D调的华丽

认认真真做事,踏踏实实写代码
posts - 42, comments - 35, trackbacks - 0, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2008年9月4日

摘要: SQL Server 205针对数据操作语言DML增加了相当多的语法,例如 CTE,Pivot,UnPivot 等,今天想把以前的展开BOM(Bill of Materials)的旧方法用CET实现,看可不可以提高性能,测试最后还是不要动好。CET(Common table expression)兼具视图表和衍生数据表的能力。你可以视之为临时的视图表,或是在同一批处理查询语法中可重复使用的衍生数据表。阅读全文

posted @ 2008-09-04 11:08 D 阅读(2948) 评论(7) 编辑

2008年9月3日

摘要: 在用GridView展示数据的时候需要把相同的列的单元格横或坚合并在一起(如下图所示),以前做这样的图一直用Repeater,但Repeater分页没有用GridView快,直接点分页就可以自动完成(人懒),现在换成用GridView做,没想到更简单阅读全文

posted @ 2008-09-03 11:38 D 阅读(354) 评论(0) 编辑

2008年9月2日

摘要: 最近一个项目中需要水晶报表打印Invoice,在汇总金额的同时要把金额转换为英文表示,最开始的时候客户需求是只在Invoice最后一页总汇总的时候才需要显示英文,所以当被直接在.net中转好英文,然后再在数据源xsd设置多一个英文字段传到报表中。使用一段时间后客户要求每一页Invoice需要汇总英文,麻烦来了,如果要传参数法,将不能确定水晶报表分几页也没法传不固定参数,于是直接在水晶报表中写了转换方法,需要这样要求的朋友可以自己改改 阅读全文

posted @ 2008-09-02 12:04 D 阅读(282) 评论(0) 编辑

2007年8月25日

摘要: 在代码中实现 net use 连接远程服务器共享阅读全文

posted @ 2007-08-25 14:02 D 阅读(355) 评论(0) 编辑

 

 1 SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();
 2            try
 3            {
 4                svr.Connect(Encrypt.UNDES("localhost","sa","password");
 5                SQLDMO.QueryResults qr = svr.EnumProcesses(-1);
 6                int iColPIDNum = -1;
 7                int iColDbName = -1;
 8                for (int i = 1; i <= qr.Columns; i++)
 9                {
10                    string strName = qr.get_ColumnName(i);
11                    if (strName.ToUpper().Trim() == "SPID")
12                    {
13                        iColPIDNum = i;
14                    }

15                    else if (strName.ToUpper().Trim() == "DBNAME")
16                    {
17                        iColDbName = i;
18                    }

19                    if (iColPIDNum != -1 && iColDbName != -1)
20                        break;
21                }

22
23                for (int i = 1; i <= qr.Rows; i++)
24                {
25                    int lPID = qr.GetColumnLong(i, iColPIDNum);
26                    string strDBName = qr.GetColumnString(i, iColDbName);
27                    if (strDBName.ToUpper() == DBName.ToUpper())
28                        svr.KillProcess(lPID);
29                }

30
31                SQLDMO.Restore res = new SQLDMO.RestoreClass();
32                res.Action = 0;
33                res.Files = ServiceFolder;
34                res.Database = DBName;
35                res.ReplaceDatabase = true;
36                res.SQLRestore(svr);
37            }

38            catch
39            {
40                throw;
41            }

42            finally
43            {
44                svr.DisConnect();
45            }
 
46

posted @ 2007-08-25 13:57 D 阅读(63) 评论(0) 编辑

 ArrayList arrSqlServer = new ArrayList();
            SQLDMO.ApplicationClass oApp = new SQLDMO.ApplicationClass();
            try
            {
                SQLDMO.NameList sList = oApp.ListAvailableSQLServers();
                if (sList != null)
                {
                    for (int i = 1; i <= sList.Count; i++)
                        arrSqlServer.Add(sList.Item(i));
                }
            }
            finally
            {
                oApp = null;
            }

posted @ 2007-08-25 13:53 D 阅读(116) 评论(0) 编辑

2007年7月17日

利用反射进行动态加载和调用.
Assembly ass=Assembly.LoadFrom(DllPath); //利用dll的路径加载,同时将此程序集所依赖的程序集加载进来,需后辍名.dll
Assembly.LoadFile 只加载指定文件,并不会自动加载依赖程序集.Assmbly.Load无需后辍名
 
 
加载dll后,需要使用dll中某类.
Type type=ass.GetType(TypeName);//利用类型的命名空间和名称获得类型
 
需要实例化类型,才可以使用,参数可以人为的指定,也可以无参数,静态实例可以省略
Object obj = Activator.CreateInstance(type,params[]);//利用指定的参数实例话类型
 
调用类型中的某个方法:
需要首先得到此方法
MethodInfo mi=type.GetMethod(MehtodName);//通过方法名称获得方法
 
然后对方法进行调用,多态性利用参数进行控制
mi.Invoke(obj,params[]);//根据参数直线方法,返回值就是原方法的返回值

posted @ 2007-07-17 15:47 D 阅读(7890) 评论(5) 编辑

摘要: 用时候当系统文件关联直接下载的话会调用程序打开,或者想验证后才能给用户下载,那么可以用这个方法实现阅读全文

posted @ 2007-07-17 15:35 D 阅读(1679) 评论(2) 编辑

2007年7月16日

摘要: <SCRIPT LANGUAGE="JavaScript"> <!-- function hotkey() { var a=window.event.keyCode; if((a==65)&&(event.ctrlKey)) { alert("你按了ctrl+a键吧"); } }// end hotkey document.onkeydown = hotkey; ...阅读全文

posted @ 2007-07-16 18:35 D 阅读(132) 评论(0) 编辑

摘要: /******* 导出到excel
EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out "c:\test.xls" -c -S"服务器名" -U"sa" -P"123456789!@#"'

/导出到存在的表
insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\Book1.xls',sheet1$)
select top * from table1

/*********** 导入Excel
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[表名$]
阅读全文

posted @ 2007-07-16 08:01 D 阅读(147) 评论(0) 编辑