摘要: 命令名+ 快捷键+ 说明编辑.复制CTRL + CCTRL + INSERT 将当前选定的项复制到系统剪贴板。编辑.剪切CTRL + XSHIFT + DELETE 将当前选定的项移除到系统剪贴板。编辑.循环应用剪贴板中的复制项CTRL + SHIFT + INSCTRL + SHIFT + V 将项从“工具箱”的“剪贴板循环”选项卡粘贴在文件中的插... 阅读全文
posted @ 2008-10-17 16:23 华丽的空白 阅读(16) | 评论 (0)编辑
     摘要: ///<summary>///ListTransferDataTableClass///</summary>publicclassIListHelper{///<summary>///Ilist<T>TransferDataSet///</summary>///<paramname="i_objlist"></param... 阅读全文
posted @ 2008-10-16 15:05 华丽的空白 阅读(23) | 评论 (0)编辑
  1. 需要引用Microsoft.Office.Interop.Word


#region WordDoc

        public void WordDoc()
        {
            Microsoft.Office.Interop.Word.Application appWord = null;
            Microsoft.Office.Interop.Word.Document doc = null;
            try
            {
                appWord = new Microsoft.Office.Interop.Word.ApplicationClass();
                appWord.Visible = false;
                object objTrue = true;
                object objFalse = false;
                object objTemplate = @"G:"123.doc";
                //System.Web.HttpContext.Current.Server.MapPath(@"G:"123.doc");//模板路径
                object objDocType = Microsoft.Office.Interop.Word.WdDocumentType.wdTypeDocument;
                doc = appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType, ref objTrue);
                //第一步生成word文档
                //定义书签变量
                object obDD_Name = "DD_Name";//姓 名
                object obDD_Sex = "DD_Sex";//性 别
                object obDD_Age = "DD_Age";//年龄
                object obDD_Birthday = "DD_Birthday"; //出生年月
                object obDD_Nation = "DD_Nation"; //民 族
                object obDD_Native = "DD_Native"; //籍 贯
                //...
                //第二步 读取数据,填充数据集
                //SqlDataReader dr = null;//读取出来的数据集
                //第三步 给书签赋值
                //给书签赋值
                object missing = System.Reflection.Missing.Value;
                object BookMarkName = "obDD_Name";
                object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark;
                doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
                doc.ActiveWindow.Selection.TypeText("朱一鸣");
                doc.ActiveWindow.Selection.TypeParagraph();
                //doc.Bookmarks.get_Item(ref i).Range.Text = "朱一鸣"; //姓 名
                //doc.Bookmarks.get_Item(ref j).Range.Text = "男";//性 别
                //doc.Bookmarks.get_Item(ref k).Range.Text = "23";//年龄
                // ....
                //第四步 生成word
                object filename = @"G:"zym" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".doc";
                object miss = System.Reflection.Missing.Value;
                doc.SaveAs(ref filename, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);
                object missingValue = Type.Missing;
                object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
                doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
                appWord.Application.Quit(ref miss, ref miss, ref miss);
                doc = null;
                appWord = null;

                Response.Buffer = true;
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.ContentType = "application/msword";

                Response.Charset = "utf-8";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
                System.IO.FileInfo file = new System.IO.FileInfo(filename.ToString());

                Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(file.Name, System.Text.Encoding.UTF8) + "");
                //attachment --- 作为附件下载
                //inline --- 在线打开
                //filename如过是中文,则可以用HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8)
                //进行进行编码,以解决文件名乱码的问题


                Response.WriteFile(file.FullName);
                Response.Flush();
                Response.Close();
                File.Delete(filename.ToString());
            }
            catch (System.Exception e)
            {
                //捕捉异常,如果出现异常则清空实例,退出word,同时释放资源
                string aa = e.ToString();
                object miss = System.Reflection.Missing.Value;
                object missingValue = Type.Missing;
                object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
                doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
                appWord.Application.Quit(ref miss, ref miss, ref miss);
                doc = null;
                appWord = null;
            }

        }
        #endregion
posted @ 2008-10-08 21:49 华丽的空白 阅读(29) | 评论 (0)编辑
WORD 文件打开的问题
http://topic.csdn.net/u/20070919/11/d5286712-512e-4c79-83ed-68a87fb4753e.html

向Word文件中写数据
http://topic.csdn.net/u/20070913/12/58de7e78-39b7-43f7-b50a-5fa6e31dd22a.html

继续关于程序word操作的问题
http://topic.csdn.net/u/20070606/23/75e9a824-9711-4221-8b2a-2758d723e64d.html

在ASP.NET中使用dot模板生成Word文档
http://bluebaby.blog.ccidnet.com/blog-htm-do-showone-type-blog-itemid-145551-uid-9416.html

ASP.NET操作Word文档

http://www.jfstudio.net/aspnet/net/20070711/09462826.shtml

操作Word模板文件.dot 结合具体数据 生成Word文档 .doc
http://www.etoow.com/html/2007-08/1187227097.html用.net操作word
http://www.chinaaspx.com/comm/dotnetbbs/Showtopic.aspx?Forum_ID=5&Id=48264
在ASP.NET中操纵Word之权限配置
http://bluebaby.blog.ccidnet.com/blog-htm-do-showone-type-blog-itemid-145542-uid-9416.html
在ASP.NET程序中存储和调用word文件http://zixi.net/Tech/show.asp?id=2091&Page=1

将Word文档转化为HTML格式的文档
http://dotnet.aspx.cc/article/13c874e4-7fc7-4fd1-8cf6-de9ef4469a9c/read.aspx
posted @ 2008-10-07 21:35 华丽的空白 阅读(47) | 评论 (0)编辑

把Old数据库改为New数据库

打开“企业管理器”

找到 Old数据库--》右键--》所有任务--》分离数据库

然后到C:"Program Files"Microsoft SQL Server"MSSQL"Data下找到Old_Data.mdf和
Old_log.ldf

把Old_Data换成你想要的名字例如New.mdf、New.ldf

然后到企业管理器,找到 数据库 --》右键--》所有任务--》附加数据库--》在弹出的对话框里找到刚才你改名的文件New.mdf

这 时您可以看到“原数据库文件名”“当前文件位置”,在“当前文件位置”前会有大红X,然后手动修改“当前文件位置”的路径里的文件名,改为 New.MDF,New.LDF,大红X消失,“在附加为:”里边写上你想使用的数据库名New,"指定数据库所有者:"里写上这个数据库的所有者,这个 如果写错了,以后很难改的(至少一般人觉得很难改)。

OK搞定。

以前就写到上面这一点,好像客户也没说什么,感觉应该是可以的,不过今天发现这个问题:

虽 然现在的数据库文件名显示的是我们想要的“New”,但此时的逻辑文件名还没有修改,还是原来的那个“Old_Date”,打开企业管理器--》在这个数 据库上点右键属性--》数据文件 下的当前数据库的位置路径前的 文件名 还是原来那个,事物日志文件 下的 文件名也还是以前的文件名,也就是说还没有 彻底成功,所以我们还得按如下方法操作--》

工具--》SQL 查询分析器--》然后输入:

Alter DataBASE New
MODIFY FILE(NAME='Old_Data',NEWNAME='New_Data')
Alter DataBASE New
MODIFY FILE(NAME='Old_Log',NEWNAME='New_Log')

--》按F5运行便可。

OK,一般还要给用户设置空间大小,设一下就可以了。

posted @ 2008-09-01 10:41 华丽的空白 阅读(27) | 评论 (0)编辑

在 C# 中有一個重要的參數檔案:app.config ,我們要來談談此參數檔中關於連接資料庫的問題。當我們將程式製作成安裝片,在客戶端將程式安裝好,此檔案也會安裝的應用程式的目錄,但是檔案名稱會改 變。在開發者電腦是 app.config,在用戶的電腦會是 .config,什麼意思呢?例如你的程式主執行檔是 test.exe ,則此檔案會變成 test.exe.config ,所以後續我們要討論的程式將這對此檔案。

.config 檔案其實只是一個 XML 檔案,例如:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="test.Properties.Settings.ConnectionString" connectionString="data source=D:"Projects"Leap"NAS"LicenseData.sqlite"
providerName="System.Data.SQLite" />

</connectionStrings>
</configuration>

上面的設定中,connectionString 指向 D:"Projects"Leap"NAS"LicenseData.sqlite 這個資料庫,可是在用戶端,指向這個位置一定會出問題,所以程式要動態修改,範例如下:

XmlDocument doc = new XmlDocument();
string cn = "data source=" + Application.StartupPath + """LicenseData.sqlite";
string strFileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + "test.exe.config";
doc.Load( strFileName );L
XmlNodeList nodes = doc.GetElementsByTagName( "add" );
for ( int i = 0; i < nodes.Count; i++ ) {
XmlAttribute att = nodes[i].Attributes["connectionString"];
att.Value = cn;
}
doc.Save(strFileName);

如此 connectionString 就會動態的指定到應用程式安裝路徑下的 LicenseData.sqlite 資料庫

posted @ 2008-08-27 11:04 华丽的空白 阅读(10) | 评论 (0)编辑
     摘要: <%="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="Repeart._Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio... 阅读全文
posted @ 2008-08-15 11:22 华丽的空白 阅读(184) | 评论 (0)编辑
js


aspx

 

posted @ 2008-08-04 14:50 华丽的空白 阅读(143) | 评论 (0)编辑

至少有三种以上办法,可以把二进制数据(比如您从ASP的Request.BinaryRead方法得到的数据)转换为字符串。

第一种:使用VBS的MultiByte 方法

实例:

Function SimpleBinaryToString(Binary)
'SimpleBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string)
'to a string (BSTR) using MultiByte VBS functions
Dim I, S
For I = 1 To LenB(Binary)
S = S & Chr(AscB(MidB(Binary, I, 1)))
Next
SimpleBinaryToString = S
End Function
这个方法非常简单明了,但是处理大数据流时,比较慢。
建议只用来处理100KB以下的数据。
下面的这个类似的方法,性能稍微好些:
Function BinaryToString(Binary)
'Antonin Foller, http://www.pstruh.cz
'Optimized version of a simple BinaryToString algorithm.

Dim cl1, cl2, cl3, pl1, pl2, pl3
Dim L
cl1 = 1
cl2 = 1
cl3 = 1
L = LenB(Binary)

Do While cl1<=L
pl3 = pl3 & Chr(AscB(MidB(Binary,cl1,1)))
cl1 = cl1 + 1
cl3 = cl3 + 1
If cl3>300 Then
pl2 = pl2 & pl3
pl3 = ""
cl3 = 1
cl2 = cl2 + 1
If cl2>200 Then
pl1 = pl1 & pl2
pl2 = ""
cl2 = 1
End If
End If
Loop
BinaryToString = pl1 & pl2 & pl3
End Function
BinaryToString方法比SimpleBinaryToString方法性能高20倍。
建议用来处理2MB以下的数据。
第二种方法:使用ADODB.Recordset
ADODB.Recordset 可以让你支持几乎所有VARIANT支持的数据类型,你可以用它在string和
binary之间转换。
Function RSBinaryToString(xBinary)
'Antonin Foller, http://www.pstruh.cz
'RSBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string)
'to a string (BSTR) using ADO recordset

Dim Binary
'MultiByte data must be converted To VT_UI1 | VT_ARRAY first.
If vartype(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary

Dim RS, LBinary
Const adLongVarChar = 201
Set RS = CreateObject("ADODB.Recordset")
LBinary = LenB(Binary)

If LBinary>0 Then
RS.Fields.Append "mBinary", adLongVarChar, LBinary
RS.Open
RS.AddNew
RS("mBinary").AppendChunk Binary
RS.Update
RSBinaryToString = RS("mBinary")
Else
RSBinaryToString = ""
End If
End Function
RSBinaryToString 没有什么限制--除了物理内存之外。
这种处理方式是MultiByte方式的100倍!
你可以用它来处理高达100MB的数据!
 
这种转换方式,你也可以用来把MultiByte strings转换为String。下面这个
方法把MultiByte strings转换为Binary:
Function MultiByteToBinary(MultiByte)
'© 2000 Antonin Foller, http://www.pstruh.cz
' MultiByteToBinary converts multibyte string To real binary data (VT_UI1 | VT_ARRAY)
' Using recordset
Dim RS, LMultiByte, Binary
Const adLongVarBinary = 205
Set RS = CreateObject("ADODB.Recordset")
LMultiByte = LenB(MultiByte)
If LMultiByte>0 Then
RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte
RS.Open
RS.AddNew
RS("mBinary").AppendChunk MultiByte & ChrB(0)
RS.Update
Binary = RS("mBinary").GetChunk(LMultiByte)
End If
MultiByteToBinary = Binary
End Function
第三种:使用ADODB.Stream
这种方式是比较常用的:
'Stream_BinaryToString Function
'2003 Antonin Foller, http://www.pstruh.cz
'Binary - VT_UI1 | VT_ARRAY data To convert To a string
'CharSet - charset of the source binary data - default is "us-ascii"
Function Stream_BinaryToString(Binary, CharSet)
Const adTypeText = 2
Const adTypeBinary = 1

'Create Stream object
Dim BinaryStream 'As New Stream
Set BinaryStream = CreateObject("ADODB.Stream")

'Specify stream type - we want To save text/string data.
BinaryStream.Type = adTypeBinary

'Open the stream And write text/string data To the object
BinaryStream.Open
BinaryStream.Write Binary


'Change stream type To binary
BinaryStream.Position = 0
BinaryStream.Type = adTypeText

'Specify charset For the source text (unicode) data.
If Len(CharSet) > 0 Then
BinaryStream.CharSet = CharSet
Else
BinaryStream.CharSet = "us-ascii"
End If

'Open the stream And get binary data from the object
Stream_BinaryToString = BinaryStream.ReadText
End Function
posted @ 2008-06-27 16:54 华丽的空白 阅读(41) | 评论 (0)编辑
     摘要: /关闭,父窗口弹出对话框,子窗口直接关闭this.Response.Write("<script language=javascript>window.close();</script>");//关闭,父窗口和子窗口都不弹出对话框,直接关闭this.Response.Write("<script>");this.Response.Write("{top.open... 阅读全文
posted @ 2008-05-28 20:50 华丽的空白 阅读(97) | 评论 (0)编辑