.NET开发

常用链接

统计

最新评论

2006年10月30日 #

AutoCompleteExtender 不工作的处理

摘要: 最新版本的AutoCompleteExtender不工作,CTP 1.0 Beta版

主要发现 AutoCompleteExtender不触发WebService的工作函数

WebService.cs文件 作如下改动后,可正常使用
1、引用Microsoft.Web.Script.Services;
2、将[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]]两句删除掉
增加[ScriptService]
即可
阅读全文

posted @ 2006-10-30 11:45 加林仙人 阅读(2069) 评论(6) 编辑

2006年10月16日 #

Sql Server 2005自定义分页

Sql Server 2005自定义分页

  在sql server 2000中,要实现显示某一页,就返回那一页数据的效果的方法实在不尽人意.网上很多通用的分页存储过程,但看着就头大.如果使用我前面提到的使用in,not in,top来进行返回特定页,特殊的限制又会比较多(比如ID要递增).现在Sql Server 2005中提供了一个函数ROW_NUMBER(),可以使自定义分页变得简单许多.
我们先来看看ROW_NUMBER()是干什么的.执行下面这段SQL语句:
Select [ReportID],[UserName], [ReportID],
[TimeStart], [TimeEnd],ROW_NUMBER() OVER (ORDER BY ReportID) AS RowNo
FROM [ExecutionLog]
执行结果如下图所示:
attachments/200601/21_221728_.jpg

很简单,ROW_NUMBER() 就是生成一个顺序的行号,而他生成顺序的标准,就是后面紧跟的OVER(ORDER BY ReportID).现在,你看到了自定义分页的影子了吗?:)下面,我们看看怎么具体应用这个RowNo进行分页.
现在,假设我每一页的数据是10条,我们就可以使用如下所示的SQL语句返回指定页的数据:
@"
Select TOP 10 *
FROM
(
Select top 10 [InstanceName], [UserName], [ReportID],
[TimeStart], [TimeEnd],ROW_NUMBER() OVER (ORDER BY ReportID) AS RowNo
FROM [ExecutionLog]
) AS A
Where RowNo > " + pageIndex*10
pageIndex就是我们需要数据的页数.很简单,不是吗?并且,这种方式几乎没有什么限制,因为他相当于对于任何检索,都生成了一个新的排序列.我们就可以使用该列进行自定义分页.

posted @ 2006-10-16 15:29 加林仙人 阅读(230) 评论(0) 编辑

C#操作Excel(导入导出)- -

                                      

from http://0x00.blogchina.com/2460998.html    

       
前些日子,有很多朋友说需要C#导出到Excel的代码,现共享给大家

/// <summary>
  /// 读取Excel文档
  /// </summary>
  /// <param name="Path">文件名称</param>
  /// <returns>返回一个数据集</returns>
  public DataSet ExcelToDS(string Path)
  {
   string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
   OleDbConnection conn = new OleDbConnection(strConn);
   conn.Open(); 
   string strExcel = "";  
   OleDbDataAdapter myCommand = null;
   DataSet ds = null;
   strExcel="select * from [sheet1$]";
   myCommand = new OleDbDataAdapter(strExcel, strConn);
   ds = new DataSet();
   myCommand.Fill(ds,"table1");  
   return ds;
  }


/// <summary>
  /// 写入Excel文档
  /// </summary>
  /// <param name="Path">文件名称</param>
  public bool SaveFP2toExcel(string Path)
  {
   try
   {
    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
    OleDbConnection conn = new OleDbConnection(strConn);
    conn.Open(); 
    System.Data.OleDb.OleDbCommand cmd=new OleDbCommand ();
    cmd.Connection =conn;
    //cmd.CommandText ="UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工号='日期'";
    //cmd.ExecuteNonQuery ();
    for(int i=0;i<fp2.Sheets [0].RowCount -1;i++)
    {
     if(fp2.Sheets [0].Cells[i,0].Text!="")
     {
      cmd.CommandText ="INSERT INTO [sheet1$] (工号,姓名,部门,职务,日期,时间) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+
       fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+
       "','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')";
      cmd.ExecuteNonQuery ();
     }
    }
    conn.Close ();
    return true;
   }
   catch(System.Data.OleDb.OleDbException ex)
   {
    System.Diagnostics.Debug.WriteLine ("写入Excel发生错误:"+ex.Message );
   }
   return false;
  }

posted @ 2006-10-16 10:54 加林仙人 阅读(833) 评论(3) 编辑

2006年10月12日 #

HTML中的转义字符

HTML中的转义字符

 

 

  HTML<, >&等有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用。使用这三个字符时,应使用它们的转义序列,如下所示:

&amp; &

&

&lt; <

<

 

 

小于号

&gt; >

>

 

 

大于号

&quot;

"

双引号

 

&nbsp;

 

 

空格

&copy;

©

版权符

&reg

®

 

 

注册符

  前者为字符转义序列,后者为数字转义序列。数字转为字符对应的ASCII码值。例如 & lt; font &gt;显示为,<font>,若直接写为则被认为是一个链接签。

  需要说明的是:

  a. 转义序列各字符间不能有空格;

 

 

  b. 转义序列必须以""结束;

 

 

  c. 单独的&不被认为是转义开始;

 

 

  d.区分大小写。

  另一个需要转义的字符是引号,它的转义序列为"" """"

  HTML使用的字符集是ISO &859 Larin-1字符集,该字符集中有许多标准键盘上无法输入的字符。对这些特殊字符只能使用转义序列。

 

  XML转义字符

 

 

  不合法的XML字符必须被替换为相应的实体。

  如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该像下面那样书写代码:

<message>if salary < 1000 then</message>

  为了避免出现这种情况,必须将字符"<" 转换成实体,像下面这样:

<message>if salary &lt; 1000 then</message>

  下面是五个在XML文档中预定义好的实体:

&lt;

<

 

 

小于号

&gt;

>

 

 

大于号

&amp;

&

&apos;

'

单引号

&quot;

"

双引号

  实体必须以符号"&"开头,以符号";"结尾。

  注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。

posted @ 2006-10-12 20:37 加林仙人 阅读(9232) 评论(3) 编辑

2006年10月11日 #

对象存数据库的几种方案比较

1、将每个属性用字段的方式存数据库,一个字,烦
2、如果属性不需要检索、排序等操作,可以将整个对象存数据库
方法:
     先序列化,以byte[] 的形式将数据存储到数据库的二进制字段(varbinary(MAX))
     读取的时候反序列化,再显式转换为对象

优点:性能好,占数据少
缺点:如果你更改了对象属性的话,以前存储的对象信息你就看不懂了,全是二进制
最佳方案,以xml的模式存储到数据库
System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter();
System.IO.MemoryStream mem 
= new System.IO.MemoryStream();
formatter.Serialize(mem, 对象名);
byte[] buffer = new byte[mem.Length];
mem.Read(buffer, 
0, Convert.ToInt32(mem.Length));
string xml =System.Text.Encoding.UTF8.GetString(buffer);

    

posted @ 2006-10-11 10:01 加林仙人 阅读(159) 评论(0) 编辑

2006年9月26日 #

关于ms-sqlserver的扩展属性

如何增加字段描述,取得字段描述,我也有回答,也看到其他同仁的答案,这里整理一下!

  新增:我们知道在SQL Server 2000中,Microsoft添加了扩展属性,用于帮助用户在多个数据库对象上定义和操作用户定义的属性。

exec sp_addextendedproperty N'MS_Description', N'字段描述', N'user', N'dbo', N'table', N'表名', N'column', N'字段名'
GO

例如:EXEC sp_addextendedproperty N'MS_Description',N'地址',N'user', dbo,N'table', N'a', N'column', a_add
GO--我的表是a,要给字段a_add加上字段描述:地址

其他相关:

删除:

EXEC sp_dropextendedproperty N'MS_Description',N'user', dbo,N'table', N'表名', N'column', 字段名

修改:

EXEC   sp_updateextendedproperty N'MS_Description', N'字段描述', N'user', dbo,N'table',N'表名', 'column', 字段

至于查询出来,sql server有提供系统函数fn_listextendedproperty ():

--获取某一个字段的描述
SELECT   *
FROM   ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', '表名', 'column', default)--其他变数,按照你的要求你照写即可,只要表名换成你的
where objname = '字段名'

另外也可以自己查询系统表:

SELECT o.name AS tableName, c.name AS columnName, p.[value] AS Description
FROM sysproperties p INNER JOIN
      sysobjects o ON o.id = p.id INNER JOIN
      syscolumns c ON p.id = c.id AND p.smallid = c.colid
WHERE (p.name = 'MS_Description')
ORDER BY o.name

摘自:http://www.5250.com/txt/data/587843.html

posted @ 2006-09-26 10:12 加林仙人 阅读(169) 评论(0) 编辑

2006年9月25日 #

.NET读取数据库说明信息

摘要: 首先,添加引用:Microsoft.SqlServer.Management.SmoMicrosoft.SqlServer.ConnectionInfo然后创建数据库集合对象public static string ReturnMemoInfo{Server srv = new Server(srvname);Microsoft.SqlServer.Management.Smo.DatabaseC...阅读全文

posted @ 2006-09-25 09:58 加林仙人 阅读(335) 评论(0) 编辑

2006年9月18日 #

asp.net上传RAR文件自动解压

摘要: using System;using System.IO;using System.Diagnostics;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web.Security;using System.Web;using Syste...阅读全文

posted @ 2006-09-18 17:16 加林仙人 阅读(3018) 评论(3) 编辑

2006年9月15日 #

ASP.NET生成高质量缩略图通用函数(c#代码)

摘要: 在网站开发时,生成缩略图是一个非常常见和实用的功能.以前在asp里只能借助com组件实现,现在在.net里可以利用框架的强大的类库轻松实现.下面帖出完整的代码(带详细注释),参考了网上的一些文章及.net sdk相关内容.QQROOM网络家园的图片上传用到了所有的4种生成方式. /// <summary> /// 生成缩略图 /// </summary> /// <p...阅读全文

posted @ 2006-09-15 17:24 加林仙人 阅读(2730) 评论(7) 编辑