--批量导入数据脚本:
INSERT INTO tb_Table (id, name)
SELECT 77583 , name1 FROM tb_table2 WHERE (intTID = 41444)
INSERT INTO tb_Table (id, name)
SELECT 77583 , name1 FROM tb_table2 WHERE (intTID = 41444)
123456 MD5加密后的代码“E10ADC3949BA59ABBE56E057F20F883E”
修改字段名花费的执行时间很小。修改字段类型可以使用下面的方式。
--将原有的intID字段改成int型
ALTER TABLE [tb_Table1] ALTER COLUMN intID int NULL
--将原有的intID字段改成int型
ALTER TABLE [tb_Table1] ALTER COLUMN intID int NULL
数据库的自增字段,标识增量是步长,标识种子是起始的数字。可以设置从100000开始,每条数据增加1。100000,100002,100003。。
<a href="javascript:void(0);" onclick="open();">链接</a> 如果open()里面有location.href = "http://xxx.com"; 则无法转向。 ——IE6下面location.href 的BUG。<a href="#" onclick="open();">链接2</a><a href="javascript:open();">链接3</a> 都没问题。
<!--获取页面图片的宽度和高度,如果你设定了IMG的width和height属性,获取得到的就是你设定的值-->
<img src="1.gif" id="1" />
<script language="javascript" type="text/javascript">
var x=document.getElementById(1).clientWidth;
var y=document.getElementById(1).clientHeight;
document.write("图片的宽度为:"+x+"图片高度为:"+y);
</script>
<img src="1.gif" id="1" />
<script language="javascript" type="text/javascript">
var x=document.getElementById(1).clientWidth;
var y=document.getElementById(1).clientHeight;
document.write("图片的宽度为:"+x+"图片高度为:"+y);
</script>
不要在使用callback的时候使用页面的reload方法或者转向
客户端CLICK和服务器端点击的解决方式
onclick="if(CreateNewClub()==false) return;" onserverclick="btnCreateNewClub_ServerClick"
onclick="if(CreateNewClub()==false) return;" onserverclick="btnCreateNewClub_ServerClick"
/// <summary>
/// 插入一个节点和此节点的多个子节点。
/// </summary>
/// <param name="MainNode"></param>
/// <param name="ChildNode"></param>
/// <param name="ht">用哈希表存储多个子节点的键值对</param>
public void InsertNode(string MainNode, string ChildNode, Hashtable ht)
{
XmlNode objRootNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objChildNode = objXmlDoc.CreateElement(ChildNode);
objRootNode.AppendChild(objChildNode);
foreach (DictionaryEntry de in ht)
{
XmlElement objElement = objXmlDoc.CreateElement(de.Key.ToString());
objElement.InnerText = de.Value.ToString();
objChildNode.AppendChild(objElement);
}
}
/// 插入一个节点和此节点的多个子节点。
/// </summary>
/// <param name="MainNode"></param>
/// <param name="ChildNode"></param>
/// <param name="ht">用哈希表存储多个子节点的键值对</param>
public void InsertNode(string MainNode, string ChildNode, Hashtable ht)
{
XmlNode objRootNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objChildNode = objXmlDoc.CreateElement(ChildNode);
objRootNode.AppendChild(objChildNode);
foreach (DictionaryEntry de in ht)
{
XmlElement objElement = objXmlDoc.CreateElement(de.Key.ToString());
objElement.InnerText = de.Value.ToString();
objChildNode.AppendChild(objElement);
}
}
XmlNode和XmlElement的继承关系
System.Object
System.Xml.XmlNode
System.Xml.XmlLinkedNode
System.Xml.XmlElement
元素是XML的基本构造模块。通常,元素拥有子元素、文本节点,或两者的组合。元素节点也是能够拥有属性的唯一节点类型。比如
<name>123</name>
name元素包含文本节点123
System.Object
System.Xml.XmlNode
System.Xml.XmlLinkedNode
System.Xml.XmlElement
元素是XML的基本构造模块。通常,元素拥有子元素、文本节点,或两者的组合。元素节点也是能够拥有属性的唯一节点类型。比如
<name>123</name>
name元素包含文本节点123
//System.ArgumentException:
// newChild 是从不同于创建此节点的文档创建的。该节点是只读的。
public virtual XmlNode AppendChild(XmlNode newChild);
注意这个错误,”不同的文档创建的“
// newChild 是从不同于创建此节点的文档创建的。该节点是只读的。
public virtual XmlNode AppendChild(XmlNode newChild);
注意这个错误,”不同的文档创建的“
System.IO.StreamWriter sw = new System.IO.StreamWriter(@"d:\aa.txt");
Console.SetOut(sw);
Console.WriteLine("kajsdklfjasdf");
sw.Close();
Console.SetOut(sw);
Console.WriteLine("kajsdklfjasdf");
sw.Close();
//在后台代码里面写前台提示脚本的方式 asp.net ajax beta2
<asp:UpdatePanel runat="server" ID="p1">
*.cs:
Microsoft.Web.UI.ScriptManager.RegisterStartupScript(p1, this.GetType(), "click", "alert('ok')", true);
<asp:UpdatePanel runat="server" ID="p1">
*.cs:
Microsoft.Web.UI.ScriptManager.RegisterStartupScript(p1, this.GetType(), "click", "alert('ok')", true);
.Net Coding时,请注意:
滥用XML了么?这是个时髦但昂贵、缓慢的东东
只在确定能处理的地方Exception
string + 比 StringBuilding 慢300倍
Inbox /Unbox ,慢
Reflexction。慢
COM invoke,慢
滥用XML了么?这是个时髦但昂贵、缓慢的东东
只在确定能处理的地方Exception
string + 比 StringBuilding 慢300倍
Inbox /Unbox ,慢
Reflexction。慢
COM invoke,慢
//checkbox在datagrid里如何实现批量删除
//首先,在datagrid控件绑定的时候,必须指定它的主键值
this.datagrid1.DataKeyField = "id";
private void DelButton_Click(object sender, System.EventArgs e)
{
for(int i=0;i<this.datagrid1.Items.Count;i++)
{
CheckBox mychk = (CheckBox)this.datagrid1.Items[i].FindControl(xxxid);
if(mychk.Checked == true)
{
int myid = Convert.ToInt32(this.datagrid1.DataKeys[i].ToString());
sql = delete table where id = + myid;
//执行删除
}
}
}
//首先,在datagrid控件绑定的时候,必须指定它的主键值
this.datagrid1.DataKeyField = "id";
private void DelButton_Click(object sender, System.EventArgs e)
{
for(int i=0;i<this.datagrid1.Items.Count;i++)
{
CheckBox mychk = (CheckBox)this.datagrid1.Items[i].FindControl(xxxid);
if(mychk.Checked == true)
{
int myid = Convert.ToInt32(this.datagrid1.DataKeys[i].ToString());
sql = delete table where id = + myid;
//执行删除
}
}
}
using System.Net;
//将具有指定 URI 的资源下载到本地文件
WebClient wc = new WebClient();
wc.DownloadFile(uri,filename);
//将具有指定 URI 的资源下载到本地文件
WebClient wc = new WebClient();
wc.DownloadFile(uri,filename);
JS里正则匹配忽略大小写的一个小例子(. net的正则验证控件里面似乎不能这样写), java中用(?i)sss
var url = /sss/i ;
var text = "Sss";
var result = text.match(url);
if (result != null) {
alert("matched!");
}
var url = /sss/i ;
var text = "Sss";
var result = text.match(url);
if (result != null) {
alert("matched!");
}
得到程序运行时间的函数
using System.Diagnostics;
//开始计时
Stopwatch watch = new Stopwatch();
watch.Start();
....
//停止计时
watch.Stop();
Response.Write(watch.Elapsed);
using System.Diagnostics;
//开始计时
Stopwatch watch = new Stopwatch();
watch.Start();
....
//停止计时
watch.Stop();
Response.Write(watch.Elapsed);
在mysql数据库执行sql语句时使用正则表达式
下面的sql语句使用正则表达式匹配手机号:
select ('13800138000' REGEXP '^13[0-9]{9,9}$|159[0-9]{8,8}$')
若匹配上查询结果为1否为0。
下面的sql语句使用正则表达式匹配手机号:
select ('13800138000' REGEXP '^13[0-9]{9,9}$|159[0-9]{8,8}$')
若匹配上查询结果为1否为0。
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)
本周开始时间: cast(CONVERT(varchar(10),(getdate() - DATEPART(weekday,getdate())+1),120) as datetime)
,当前时间=convert(varchar(8),getdate(),114)
本周开始时间: cast(CONVERT(varchar(10),(getdate() - DATEPART(weekday,getdate())+1),120) as datetime)
页面加载和关闭的触发的事件:
1 写在body标签里面
<body onunload="alert('xxxxxxxxxxxxxxxxx')" onload="">
2 JS里
<script>
window.onunload=alert("xxxxxxx");/*关闭*/
window.onload=alert("xxxxxxx");/*加载*/
window.onbeforeunload=alert("xxxxxxx");//
</script>
onbeforeunload可以在页面关闭,刷新,跳转时弹出提示信息,防止意外的跳转使得当前页的表单内容被清空。如果用onuload的话会使页面关闭之后才执行事件。
3.asp.net代码
protected override void OnUnload(EventArgs e)
{
Session.RemoveAll(); //删除Session
base.OnUnload (e);
}
1 写在body标签里面
<body onunload="alert('xxxxxxxxxxxxxxxxx')" onload="">
2 JS里
<script>
window.onunload=alert("xxxxxxx");/*关闭*/
window.onload=alert("xxxxxxx");/*加载*/
window.onbeforeunload=alert("xxxxxxx");//
</script>
onbeforeunload可以在页面关闭,刷新,跳转时弹出提示信息,防止意外的跳转使得当前页的表单内容被清空。如果用onuload的话会使页面关闭之后才执行事件。
3.asp.net代码
protected override void OnUnload(EventArgs e)
{
Session.RemoveAll(); //删除Session
base.OnUnload (e);
}
问题描述:取上传的文件名以及扩展名
//错误代码,图片文件名中有.的情况没有考虑,如:a.b.gif
extFile = fileName.Substring(fileName.IndexOf("."));
//正确代码
Match match = Regex.Match(fileName, @"^.*(?<ex>\.(png|gif|jpeg|jpg])$");
extFile = DateTime.Now.ToFileTime() + match.Groups["ex"].Value;
//错误代码,图片文件名中有.的情况没有考虑,如:a.b.gif
extFile = fileName.Substring(fileName.IndexOf("."));
//正确代码
Match match = Regex.Match(fileName, @"^.*(?<ex>\.(png|gif|jpeg|jpg])$");
extFile = DateTime.Now.ToFileTime() + match.Groups["ex"].Value;
发现某网站在Firefox 下面进不了首页,原来,他们使用 window.navigate("URL") 而不是 location.href='URL' 来做跳转;不幸的是 Firefox 并不支持 navigate 方法。所以以后任何地方要做跳转,忘了 navigate 吧!
解决了一个小问题,还是正则
http://xiaoqian.cn/([(\u4e00-\u9fa5)0-9a-zA-Z]+)(\/|.{0})$
([(\u4e00-\u9fa5)0-9a-zA-Z]+)匹配汉字,字母和数字
(\/|.{0})表示有个/或者空(什么都没有)
空不就是0个字符,嘿嘿
发现写正则是需要灵感的
把|.{0}换成?更好
?表示 重复零次或一次 (thx lee)
2006-10-24 11:05:09
http://xiaoqian.cn/([(\u4e00-\u9fa5)0-9a-zA-Z]+)(\/|.{0})$
([(\u4e00-\u9fa5)0-9a-zA-Z]+)匹配汉字,字母和数字
(\/|.{0})表示有个/或者空(什么都没有)
空不就是0个字符,嘿嘿
发现写正则是需要灵感的
把|.{0}换成?更好
?表示 重复零次或一次 (thx lee)
2006-10-24 11:05:09
养成在代码中写:
#region 解释
//一个功能实现片段
#end region
的习惯,这样,一个文件中的代码看起来舒服多了
:)
#region 解释
//一个功能实现片段
#end region
的习惯,这样,一个文件中的代码看起来舒服多了
:)
怎么把1/2 转化成 50%
方案:(0.5*100).tostring+"%"
代码:
string a = "1/2";
string[] b = a.Split('/');
double i = (double)(Convert.ToDouble(b[0]) / Convert.ToDouble(b[1])) * 100;
上面是自定义的,据说.NET框架中有个函数能做,FormatPercent,没有检验
方案:(0.5*100).tostring+"%"
代码:
string a = "1/2";
string[] b = a.Split('/');
double i = (double)(Convert.ToDouble(b[0]) / Convert.ToDouble(b[1])) * 100;
上面是自定义的,据说.NET框架中有个函数能做,FormatPercent,没有检验
i.ToString("#0.00");
比如i=50
结果就是 50.00
i=12.3456
结果就是 12.35
四舍五入
比如i=50
结果就是 50.00
i=12.3456
结果就是 12.35
四舍五入
在自定义控件上面添加页面输出缓存
<%@ OutputCache Duration="120000" VaryByParam="*" %>
注意:"*"
<%@ OutputCache Duration="120000" VaryByParam="*" %>
注意:"*"
如何获取编辑行的主键值?
DataList_links_ItemDataBound()中
del.CommandArgument = item.id.ToString();
DataList_links_ItemCommand事件中
int id = Convert.ToInt32(e.CommandArgument);
DataList_links_ItemDataBound()中
del.CommandArgument = item.id.ToString();
DataList_links_ItemCommand事件中
int id = Convert.ToInt32(e.CommandArgument);
sqlserver中的decimal类型可以选择精度和小数位数来控制一个小数,float不行
mysql中可以这样分页取数据
select * from tb limit 0,30
貌似SQLServer2005可以使用ROW_NUMBER()结合order by来实现分页,一段sql例子:
select threadid from
(
select threadid, ROW_NUMBER() OVER (order by stickydate) as Pos from cs_threads
) as T
where T.Pos > 100000 and T.Pos < 100030
select * from tb limit 0,30
貌似SQLServer2005可以使用ROW_NUMBER()结合order by来实现分页,一段sql例子:
select threadid from
(
select threadid, ROW_NUMBER() OVER (order by stickydate) as Pos from cs_threads
) as T
where T.Pos > 100000 and T.Pos < 100030